Cassandra 資料分割槽

2021-09-21 23:19:09 字數 565 閱讀 3090

cassandra資料分割槽

當啟動cassandra集群時,需要選擇資料如何在集群中劃分,這個由partitioner來完成。

cluster中管理的所有資料被表示成環(ring).環被劃分為和節點數量等同的範圍(range). 每個節點加入集群時候,都要發放乙個令牌(token),它決定了節點在環中的位置以及負責的資料的range.

column family(也就是對應關聯式資料庫的表)就是按照分割槽來的。

配置partitioner,則需要指定分割槽策略:

randompartitioner(隨機分割槽):這是cassandra集群中預設的分割槽策略,它使用了一致性hash的演算法。這個演算法說明詳細見:

這種策略優點是:一旦你token被分配了,那麼column family的資料會被平均的分配到多個集群節點中,並且簡化了負載均衡。對於column family資料的讀寫也是平均的。

orderedpartitioner(排序的分割槽):這個cassandra集群並不推薦。

這必須保證所有的key已經排序了。

我們檢視下我們系統的分割槽策略選擇:

Cassandra 資料儲存結構

cassandra 的資料模型是基於列族 column family 的四維或五維模型。它借鑑了 amazon 的 dynamo 和 google s bigtable 的資料結構和功能特點,採用 memtable 和 sstable 的方式進行儲存。在 cassandra 寫入資料之前,需要先記錄...

關於cassandra資料庫

nosql資料庫 基於列的資料庫 高度可擴充套件的高效能分布式資料庫 cassandra的特點 1 彈性可擴充套件。2 始終基於架構,沒有單點故障。3 快速線性效能。4 靈活的資料儲存,支援結構化,半結構化和非結構化。5 便捷資料分發,多資料中心間複製資料。6 支援事務。7 快速寫入。cassand...

Cassandra 資料庫設計

cassandra 2.cql3.1 最近更新 2015 10 30 在cassandra中經常會發現,索引不夠用,不好用,各種不強大。比如,我關注的人的需求uid follow 作為主鍵,沒人覺得有什麼問題,但是檢視我關注的人的時候,需要用關注的時間排序,這就麻煩了。目前我採用的乙個辦法是,再建立...