分布式K/V存儲方案 Cassandra

openkk 13年前發布 | 17K 次閱讀 Java NoSQL數據庫 NOSQL

分布式K/V存儲方案 Cassandra

Apache Cassandra是一套開源分布式Key-Value存儲系統。它最初由非死book開發,用于儲存特別大的數據。非死book目前在使用此系統

主要特性:

  • 分布式
  • 基于column的結構化
  • 高伸展性

Cassandra的主要特點就是它不是一個數據庫,而是由一堆數據庫節點共同構成的一個分布式網絡服務,對Cassandra 的一個寫操作,會被復制到其他節點上去,對Cassandra的讀操作,也會被路由到某個節點上面去讀取。對于一個Cassandra群集來說,擴展性能 是比較簡單的事情,只管在群集里面添加節點就可以了。

Cassandra是一個混合型的非關系的數據庫,類似于Google的BigTable。其主要功能比 Dynomite(分布式的Key-Value存 儲系統)更豐富,但支持度卻不如文檔存儲MongoDB(介于關系數據庫和非關系數據庫之間的開源產品,是非關系數據庫當中功能最豐富,最像關系數據庫 的。支持的數據結構非常松散,是類似json的bjson格式,因此可以存儲比較復雜的數據類型。)Cassandra最初由非死book開發,后轉變成了開源項目。它是一個網絡社交云計算方面理想的數據庫。以Amazon專有的完全分布式的Dynamo為基礎,結合了Google BigTable基于列族(Column Family)的數據模型。P2P去中心化的存儲。很多方面都可以稱之為Dynamo 2.0。

和其他數據庫比較,有幾個突出特點:

模式靈活 :使用Cassandra,像文檔存儲,你不必提前解決記錄中的字段。你可以在系統運行時隨意的添加或移除字段。這是一個驚人的效率提升,特別是在大型部 署上。
真正的可擴展性 :Cassandra是純粹意義上的水平擴展。為給集群添加更多容量,可以指向另一臺電腦。你不必重啟任何進程,改變應用查詢,或手動遷移任何數據。
多數據中心識別 :你可以調整你的節點布局來避免某一個數據中心起火,一個備用的數據中心將至少有每條記錄的完全復制。

一些使Cassandra提高競爭力的其他功能:

范圍查詢 :如果你不喜歡全部的鍵值查詢,則可以設置鍵的范圍來查詢。
列表數據結構 :在混合模式可以將超級列添加到5維。對于每個用戶的索引,這是非常方便的。
分布式寫操作 :有可以在任何地方任何時間集中讀或寫任何數據。并且不會有任何單點失敗。

項目主頁:http://www.baiduhome.net/lib/view/home/1322706580499

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!