Apache Cassandra 3 儲存系統
Apache Cassandra 3 儲存系統是一套開源分散式Key-Value 儲存系統。它最初由Facebook 開發,用於儲存特別大的資料。
主要特性
1. 分散式
Cassandra 的主要特點在於它不是一個單一的資料庫,而是一組資料庫節點共同構成的分散式網路服務。對Cassandra 的寫入操作會複製到其他節點,而讀取操作則會路由到某個特定節點進行讀取。
2. 基於列的結構化
Cassandra 使用基於列的資料模型,類似於Google 的BigTable。這種模型允許用戶根據需要儲存和查詢數據,而不必事先定義整個數據結構。
3. 高伸展性
Cassandra 的伸展性很高,可以輕鬆地添加節點來擴展群集的容量,無需重新啟動任何進程、更改應用程式查詢或手動遷移資料。
Cassandra 的特點與其他資料庫的比較
Cassandra 是一種混合型的非關係型資料庫,與Google 的BigTable 類似,其功能比Dynomite(分散式Key-Value 儲存系統)更豐富,但支援度卻不如文件儲存MongoDB(介於關聯式資料庫和非關係型資料庫之間的開源產品,是非關係型資料庫中功能最豐富,最像關係型資料庫的。
Cassandra 最初由Facebook 開發,後來成為開源專案。它非常適合網路社交雲端運算方面的資料庫需求。以Amazon 專有的完全分散式的Dynamo 為基礎,結合了Google BigTable 基於列族(Column Family)的資料模型。 P2P 去中心化的存儲,在許多方面可以稱之為Dynamo 2.0。
與其他資料庫相比,Cassandra 有以下幾個突出特點:
1. 模式靈活:使用Cassandra,就像文件儲存一樣,您不必事先確定記錄中的欄位。您可以在系統運行時隨意新增或刪除欄位。這在大型部署中是一個極大的效率提升。
2. 真正的可擴展性:Cassandra 是純粹意義上的水平擴展。若要為叢集增加更多容量,只需要指向另一台電腦即可。您無需重新啟動任何進程、更改應用程式查詢或手動遷移任何資料。
3. 多重資料中心識別:您可以調整節點佈局以避免某個資料中心故障。備用資料中心將至少包含每筆記錄的完整副本,確保資料安全。
其他功能
除了上述主要特點之外,Cassandra 還提供了一些其他功能:
1. 範圍查詢:如果您不想執行全部鍵值查詢,則可以設定鍵的範圍來進行查詢。
2. 列表資料結構:在混合模式下,可以將超級列加入到五維資料結構中。這對於每個用戶的索引來說非常方便。
3. 分散式寫入操作:Cassandra 允許您在任何地方、任何時間集中讀取或寫入任何數據,並且不會出現任何單點故障。
總結
Apache Cassandra 3 是一款強大的開源分散式Key-Value 儲存系統,它提供了高伸展性、模式靈活性和可靠性,非常適合需要儲存和處理大量資料的應用程式。