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