Database-Design

在 Cassandra 中使用許多(數千個)列族或鍵空間會有什麼後果?

  • February 7, 2012

我正在評估我們的 Cassandra 安裝的最佳設計。

Internet 上沒有太多關於使用 Cassandra 提供的前兩個訪問級別(鍵空間列族)的資訊。

我想知道如果您選擇創建大量的鍵空間或列族(> 10.000),是否會受到懲罰以及會受到什麼懲罰。

某處的一篇舊部落格文章建議 Cassandra 為每個列族保留記憶體。這篇文章是關於 0.6 版本的,目前版本是 1.0。仍然是這種情況並且是一個真正的問題嗎?

在 Cassandra 中使用數以千計的列族或鍵空間會有什麼後果?

Cassandra 1.0 每個 CF 至少使用 1MB 堆。因此,對於典型的堆大小,1000 或 2000 個 CF 是可以的,但 10000 可能不會。JVM GC 在非常大的堆上表現不佳;我建議保持在 8GB 以下。

如果您有很多列族,啟動 Cassandra 節點將開始花費更長的時間。它還會影響正在使用的記憶體量。

因此,該記憶體量不會用於行/鍵記憶體和索引。隨著您不斷添加列族,性能可能會進一步下降,具體取決於節點的特定硬體。

引用自:https://dba.stackexchange.com/questions/12329