亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5869 | 回復(fù): 1
打印 上一主題 下一主題

[MongoDB] Riak與MongoDB的對比 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-02-22 15:54 |只看該作者 |倒序?yàn)g覽
Riak與MongoDB的對比



本文來自Riak所屬的Basho公司的技術(shù)WiKi,文章從幾個(gè)方面對Riak和MongoDB進(jìn)行了對比,這不是一篇PK文章,NoSQLFan翻譯給大家,希望本文能讓您對Riak和MongoDB有更多的了解。

來源地址:wiki.basho.com



機(jī)制與概念上的異同
Riak和MongoDB在使用特性上有下面幾個(gè)相同點(diǎn):

都是文檔型的數(shù)據(jù)模型
具體存儲方式都不是以文檔型進(jìn)行存儲
寫性能及寫吞吐都很高
雖然上面幾點(diǎn)看起來二者挺像,但在內(nèi)部實(shí)現(xiàn)上兩者卻是相去甚遠(yuǎn)。比如Riak是一個(gè)分布式的存儲,而MongoDB可以理解為是一個(gè)單一的數(shù)據(jù)庫系統(tǒng),同時(shí)加上了Replication和Sharding功能。MongoDB的內(nèi)部數(shù)據(jù)結(jié)構(gòu)上還是文檔,而Riak是不用關(guān)心存儲內(nèi)容的二進(jìn)制。MongoDB提供GridFS機(jī)制來存儲二進(jìn)制內(nèi)容,而Riak的二進(jìn)制內(nèi)容與普通內(nèi)容存儲方式一樣。MongoDB的寫入方式是 in-place方式,修改一個(gè)文檔是原子性的,而Riak是通過quormNRW的機(jī)制保證寫入操作安全性的。

http://www.mongodb.org/display/DOCS/Home
http://blog.mongodb.org/post/248 ... odb-update-in-place
http://www.mongodb.org/display/DOCS/Updating#Updating-Update
復(fù)制備份及橫向擴(kuò)展
Riak主要通過一致性hash算法來實(shí)現(xiàn)其數(shù)據(jù)的復(fù)制及分片,一致性hash機(jī)制是Riak的核心思想之一。在Riak中,每個(gè)節(jié)點(diǎn)都是對等的,所以其不存在單點(diǎn)故障。

Add Nodes to Riak
Consistent Hashing
而MongoDB在1.6版本后也推出了強(qiáng)有力的復(fù)制備份功能

1.主從復(fù)制
http://www.mongodb.org/display/DOCS/Master+Slave
2.Replica Sets
Replica Sets是MongoDB的重頭功能之一,它讓幾個(gè)節(jié)點(diǎn)組成一個(gè)集合,在這個(gè)集合中的節(jié)點(diǎn)中有一個(gè)主機(jī)提供寫入,其它節(jié)點(diǎn)會(huì)從主機(jī)上備份數(shù)據(jù),主機(jī)故障后會(huì)自動(dòng)在從機(jī)中選取產(chǎn)生新的主機(jī)。

http://www.mongodb.org/display/DOCS/Replica+Sets
而在數(shù)據(jù)分片上,MongoDB提供了一種叫auto-sharding的機(jī)制,使數(shù)據(jù)在多個(gè)節(jié)點(diǎn)間可以均勻分布,提供動(dòng)態(tài)添加刪除節(jié)點(diǎn)的功能。

http://www.mongodb.org/display/DOCS/Sharding
http://www.mongodb.org/display/DOCS/Sharding+Introduction
http://en.wikipedia.org/wiki/Sharding
數(shù)據(jù)分片的自動(dòng)調(diào)整
Riak基于一致性hash策略,在有節(jié)點(diǎn)從hash環(huán)上移除后,其數(shù)據(jù)會(huì)自動(dòng)分?jǐn)傉麄(gè)環(huán)上的其它節(jié)點(diǎn)上。其負(fù)載也就被均勻分?jǐn)偭恕6鳰ongoDB也支持在Sharding中摘除節(jié)點(diǎn)后的自動(dòng)數(shù)據(jù)遷移,具體見此文:

http://www.mongodb.org/display/D ... ding-Removingashard
性能對比
Riak的存儲引擎本身是作為插件的形式掛載的,Riak支持BitCask,InnoDB和LevelDB等存儲引擎,使用默認(rèn)的BitCask引擎,你可以在性能和數(shù)據(jù)持久化的選擇上進(jìn)行調(diào)節(jié)。相比之下,MongoDB由于采用了mmap機(jī)制,如果索引和熱數(shù)據(jù)能被內(nèi)存完全裝下,那么其操作基本上相當(dāng)于內(nèi)存操作,所以MongoDB的當(dāng)機(jī)性能是相當(dāng)高的。

http://www.mongodb.org/display/DOCS/Durability+and+Repair
http://blog.mongodb.org/post/381927266/what-about-durability
數(shù)據(jù)模型
Riak的數(shù)據(jù)存儲沒有特定的格式需求,它允許你存儲不同體積的文檔型數(shù)據(jù),另外Riak還可以在數(shù)據(jù)間創(chuàng)建link來為數(shù)據(jù)建立關(guān)聯(lián)。

Data Storage in Riak
MongoDB的數(shù)據(jù)是以BSON格式存儲的,你可以在MongoDB中存儲任意JSON格式的文檔,在存儲時(shí)會(huì)被轉(zhuǎn)成BSON進(jìn)行存儲,另外二進(jìn)制數(shù)據(jù)也可以轉(zhuǎn)換成相應(yīng)的一種BSON數(shù)據(jù)類型進(jìn)行存儲,GridFS正是基于這種類型來實(shí)現(xiàn)的。

查詢語句及分布式操作
Riak只提供key-value式的數(shù)據(jù)操作接口,它支持key-value數(shù)據(jù)的各種操作,也支持link-walking和MapReduce操作,像二級索引這種東西,在Riak里是不存在的,因?yàn)镽iak根本不關(guān)心它存的數(shù)據(jù)是什么樣的,value對它來說只是一串?dāng)?shù)據(jù)。

https://wiki.basho.com/display/RIAK/MapReduce
MongoDB提供與關(guān)系型數(shù)據(jù)庫類似的各種數(shù)據(jù)操作(除了關(guān)聯(lián)查詢),其索引機(jī)制更是與關(guān)系型數(shù)據(jù)庫幾乎一模一樣。同時(shí)MongoDB也提供MapReduce的操作接口,用以處理一些批量任務(wù)。

http://www.mongodb.org/display/DOCS/Indexes
http://www.mongodb.org/display/DOCS/Querying
http://www.mongodb.org/display/DOCS/MapReduce
沖突解決策略
Riak使用vector-clock機(jī)制來進(jìn)行沖突檢測,所以其沖突解決的選擇權(quán)是留給應(yīng)用層來做的。應(yīng)用層可以決定兩個(gè)用戶對同一行數(shù)據(jù)的更新哪一個(gè)會(huì)勝出。

Vector Clocks
MongoDB使用的是最近更新者勝出的方式,相對來說更簡單直接。

http://www.mongodb.org/display/DOCS/Atomic+Operations
API
Riak提供給非Erlang的客戶端兩種操作方式

1. HTTP
2. Protocol Buffers
MongoDB的協(xié)議是自己制定的一套特有協(xié)議,其客戶端由其所屬的10gen公司開發(fā)并維護(hù),基本主流的語言都有相應(yīng)的官方客戶端。

http://www.mongodb.org/display/DOCS/Mongo+Wire+Protocol
最后,七夕看這篇文章的都是尼瑪折翼的梁山好漢,各位七夕快樂。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-02-24 17:32 |只看該作者
謝謝分享
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP