Cassandra資料庫

sameplace發表於2010-03-04

Cassandra資料庫

Cassandra是一個混合型的非關係的資料庫,類似於GoogleBigTable。其主要功能比Dynomite(分散式的Key-Value儲存系統)更豐富,但支援度卻不如文件儲存MongoDB(介於關聯式資料庫和非關聯式資料庫之間的開源產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。支援的資料結構非常鬆散,是類似jsonbjson格式,因此可以儲存比較複雜的資料型別。)Cassandra最初由Facebook開發,後轉變成了開源專案。它是一個網路社交雲端計算方面理想的資料庫。以Amazon專有的完全分散式的Dynamo為基礎,結合了Google BigTable基於列族(Column Family)的資料模型。P2P去中心化的儲存。很多方面都可以稱之為Dynamo 2.0

  功能

  Cassandra的主要特點就是它不是一個資料庫,而是由一堆資料庫節點共同構成的一個分散式網路服務,對Cassandra 的一個寫操作,會被複制到其他節點上去,對Cassandra的讀操作,也會被路由到某個節點上面去讀取。對於一個Cassandra群集來說,擴充套件效能是比較簡單的事情,只管在群集裡面新增節點就可以了。 

  這裡有很多理由來選擇Cassandra用於您的網站。和其他資料庫比較,有三個突出特點:

  模式靈活 :使用Cassandra,像文件儲存,你不必提前解決記錄中的欄位。你可以在系統執行時隨意的新增或移除欄位。這是一個驚人的效率提升,特別是在大型部署上。

  真正的可擴充套件性 Cassandra是純粹意義上的水平擴充套件。為給叢集新增更多容量,可以指向另一臺電腦。你不必重啟任何程式,改變應用查詢,或手動遷移任何資料。

  多資料中心識別 :你可以調整你的節點佈局來避免某一個資料中心起火,一個備用的資料中心將至少有每條記錄的完全複製。

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

  範圍查詢 :如果你不喜歡全部的鍵值查詢,則可以設定鍵的範圍來查詢。

  列表資料結構 :在混合模式可以將超級列新增到5維。對於每個使用者的索引,這是非常方便的。

  分散式寫操作 :有可以在任何地方任何時間集中讀或寫任何資料。並且不會有任何單點失敗。

  應用客戶twitterfacebook

相關文章