云計算背后的秘密(6)-NoSQL數(shù)據(jù)庫綜述(5) |
發(fā)布時間: 2012/9/15 18:20:58 |
具體分類 下面的具體分類是來自于Visual Guide to NoSQL Systems一文,雖然對于這塊分類我個人覺得還存在一些牽強的地方,比如將能支持多種CAP配置的Dynamo和其衍生產(chǎn)品Cassandra歸類為AP,但是總體而言,這個分類還是相當不錯,在現(xiàn)階段非常具有參考價值,在每個相關的數(shù)據(jù)庫后面還會介紹對應的數(shù)據(jù)模型。 ▲圖1. NoSQL產(chǎn)品分類圖(參考1) 關注一致性和可用性的 (CA) 這些數(shù)據(jù)庫對于分區(qū)容忍性方面比較不感冒,主要采用復制(Replication)這種方式來保證數(shù)據(jù)的安全性,常見的CA系統(tǒng)有: 1. 傳統(tǒng)關系型數(shù)據(jù)庫,比如Postgres和MySQL等(Relational) ; 2. Vertica (Column-oriented) ; 3. Aster Data (Relational) ; 4. Greenplum (Relational) ; 關注一致性和分區(qū)容忍性的(CP) 這種系統(tǒng)將數(shù)據(jù)分布在多個網(wǎng)絡分區(qū)的節(jié)點上,并保證這些數(shù)據(jù)的一致性,但是對于可用性的支持方面有問題,比如當集群出現(xiàn)問題的話,節(jié)點有可能因無法確保數(shù)據(jù)是一致性的而拒絕提供服務,主要的CP系統(tǒng)有: 1. BigTable (Column-oriented) ; 2. Hypertable (Column-oriented); 3. HBase (Column-oriented) ; 4. MongoDB (Document) ; 5. Terrastore (Document) ; 6. Redis (Key-value) ; 7. Scalaris (Key-value) ; 8. MemcacheDB (Key-value) ; 9. Berkeley DB (Key-value) ; 關于可用性和分區(qū)容忍性的(AP) 這類系統(tǒng)主要以實現(xiàn)"最終一致性(Eventual Consistency)"來確?捎眯院头謪^(qū)容忍性,AP的系統(tǒng)有: 1. Dynamo (Key-value); 2. Voldemort (Key-value) ; 3. Tokyo Cabinet (Key-value) ; 4. KAI (Key-value) ; 5. Cassandra (Column-oriented) ; 6. CouchDB (Document-oriented) ; 7. SimpleDB (Document-oriented) ; 8. Riak (Document-oriented) ; 在下一期云計算背后的秘密中,將重點給大家介紹我個人設計一款的NoSQL數(shù)據(jù)庫,名為YunTable。 參考資料 1. Visual Guide to NoSQL Systems 2. NoSQL數(shù)據(jù)庫筆談 3. NoSQL數(shù)據(jù)庫探討之一 - 為什么要用非關系數(shù)據(jù)庫? 作者簡介 吳朱華,之前在IBM中國研究院參與過多個云計算產(chǎn)品的開發(fā)工作,現(xiàn)在專注于YunTable【http://code.google.com/p/yuntable/】和YunEngine【http://yunengine.com/】的研發(fā),并即將發(fā)表《剖析云計算》一書,敬請期待。 本文出自:億恩科技【www.riomediacenter.com】 |