内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

MongodbVSHbase-創(chuàng)新互聯(lián)

1.Mongodb bson文檔型數(shù)據(jù)庫,整個數(shù)據(jù)都存在磁盤中,hbase是列式數(shù)據(jù)庫,集群部署時每個familycolumn保存在單獨的hdfs文件中。MongodbVSHbase

2.Mongodb 主鍵是“_id”,主鍵上面可以不建索引,記錄插入的順序和存放的順序一樣,hbase的主鍵就是row key,可以是任意字符串(大長度是 64KB,實際應用中長度一般為 10-100bytes),在hbase內(nèi)部,row key保存為字節(jié)數(shù)組。存儲時,數(shù)據(jù)按照Row key的字典序(byte order)排序存儲。設計key時,要充分排序存儲這個特性,將經(jīng)常一起讀取的行存儲放到一起。

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設、做網(wǎng)站、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務馬邊彝族,10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220

字典序對int排序的結果是1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。要保持整形的自然序,行鍵必須用0作左填充。

3.Mongodb支持二級索引,而hbase本身不支持二級索引

4.Mongodb支持集合查找,正則查找,范圍查找,支持skip和limit等等,是最像mysql的nosql數(shù)據(jù)庫,而hbase只支持三種查找:通過單個row key訪問,通過row key的range,全表掃描

5.mongodb的update是update-in-place,也就是原地更新,除非原地容納不下更新后的數(shù)據(jù)記錄。而hbase的修改和添加都是同一個命令:put,如果put傳入的row key已經(jīng)存在就更新原記錄,實際上hbase內(nèi)部也不是更新,它只是將這一份數(shù)據(jù)已不同的版本保存下來而已,hbase默認的保存版本的歷史數(shù)量是3。

6.mongodb的delete會將該行的數(shù)據(jù)標示為已刪除,因為mongodb在刪除記錄時并不是真把記錄從內(nèi)存或文件中remove,而是將該刪除記錄數(shù)據(jù)置空(寫0或特殊數(shù)字加以標識)同時將該記錄所在地址放到一個list列表“釋放列表”中,這樣做的好就是就是如果有用戶要執(zhí)行插入記錄操作時,mongodb會首先從該“釋放列表”中獲取size合適的“已刪除記錄”地址返回,這種方法會提升性能(避免了malloc內(nèi)存操作),同時mongodb也使用了bucket size數(shù)組來定義多個大小size不同的列表,用于將要刪除的記錄根據(jù)其size大小放到合適的“釋放列表”中。Hbase的delete是先新建一個tombstonemarkers,然后讀的時候會和tombstonemarkers做merge,在 發(fā)生major compaction時delete的數(shù)據(jù)記錄才會真真刪除。

7.mongodb和hbase都支持mapreduce,不過mongodb的mapreduce支持不夠強大,如果沒有使用mongodb分片,mapreduce實際上不是并行執(zhí)行的

8.mongodb支持shard分片,hbase根據(jù)row key自動負載均衡,這里shard key和row key的選取盡量用非遞增的字段,盡量用分布均衡的字段,因為分片都是根據(jù)范圍來選擇對應的存取server的,如果用遞增字段很容易熱點server的產(chǎn)生,由于是根據(jù)key的范圍來自動分片的,如果key分布不均衡就會導致有些key根本就沒法切分,從而產(chǎn)生負載不均衡。

9.mongodb的讀效率比寫高,hbase默認適合寫多讀少的情況,可以通過hfile.block.cache.size配置,該配置storefile的讀緩存占用Heap的大小百分比,0.2表示20%。該值直接影響數(shù)據(jù)讀的性能。如果寫比讀少很多,開到0.4-0.5也沒問題。如果讀寫較均衡,0.3左右。如果寫比讀多,果斷默認0.2吧。設置這個值的時候,你同時要參考hbase.regionserver.global.memstore.upperLimit,該值是memstore占heap的大百分比,兩個參數(shù)一個影響讀,一個影響寫。如果兩值加起來超過80-90%,會有OOM的風險,謹慎設置。

10.hbase采用的LSM思想(Log-Structured Merge-Tree),就是將對數(shù)據(jù)的更改hold在內(nèi)存中,達到指定的threadhold后將該批更改merge后批量寫入到磁盤,這樣將單個寫變成了批量寫,大大提高了寫入速度,不過這樣的話讀的時候就費勁了,需要merge disk上的數(shù)據(jù)和memory中的修改數(shù)據(jù),這顯然降低了讀的性能。mongodb采用的是mapfile+Journal思想,如果記錄不在內(nèi)存,先加載到內(nèi)存,然后在內(nèi)存中更改后記錄日志,然后隔一段時間批量的寫入data文件,這樣對內(nèi)存的要求較高,至少需要容納下熱點數(shù)據(jù)和索引。

兩者的區(qū)別主要在于:
1、HBase依賴于HDFS;MongoDB直接存儲在本地磁盤中
2、HBase按照列族將數(shù)據(jù)存儲在不同的文件中;MongoDB不分列,整個文檔都存儲在一個(或者說一組)文件中,通過一個有一個通用的.ns文件保存名稱空間(Column-based和Document-Based之間的區(qū)別應該是指這個地方吧)
3、HBase一個region只有一個HRegionServer對外提供服務(沒有負載均衡的概念);MongoDB的shards(類似于region)支持負載均衡(主從結構,通過日志進行同步,這個HBase也在開發(fā)計劃當中)
4、HBase根據(jù)文件的大小來控制region的分裂;MongoDB根據(jù)負載來決定shards的分裂(沒有深入研究,不知道如何根據(jù)負載的)

本文題目:MongodbVSHbase-創(chuàng)新互聯(lián)
文章起源:http://www.rwnh.cn/article4/jhpie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、自適應網(wǎng)站、企業(yè)建站外貿(mào)建站、網(wǎng)頁設計公司、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
田林县| 高安市| 咸阳市| 涿州市| 榆社县| 锡林郭勒盟| 竹北市| 双柏县| 广宁县| 泌阳县| 玉林市| 西安市| 武清区| 视频| 茂名市| 兴宁市| 布拖县| 红河县| 乐安县| 宣城市| 南川市| 连城县| 错那县| 南江县| 黄石市| 铜川市| 且末县| 黔江区| 海原县| 乐亭县| 祥云县| 焉耆| 平武县| 孟州市| 崇州市| 若尔盖县| 鹤山市| 新竹市| 迁安市| 楚雄市| 肥西县|