Cassandra中的資料模型與RDBMS中正常情況完全不同。 我們來看看Cassandra如何儲存資料。
Cassandra資料庫分佈在執行的幾(多)台機器上。 最外層的容器被稱為包含不同節點的群集。 每個節點都包含一個副本,如果發生故障,副本將負責頂上。 Cassandra將節點以環形格式排列在群集中,並為其分配資料。
鍵空間(Keyspace)是Cassandra中資料的最外層容器。 以下是Cassandra中Keyspace的基本屬性:
複製放置策略:這是一個策略,如何資料將複製品放在環中。有三種型別的策略,如:
列家族:列家族置於鍵空間之下。 鍵空間是一個或多個列族的列表的容器,而列族是一組行的容器。 每行包含已排序的列。列家族表示資料的結構。每個鍵空間至少有一個並且經常有很多列家族。
在Cassandra中,良好的資料模型非常重要,因為不良資料模型可能會降低效能,特別是當您嘗試在Cassandra上實現RDBMS概念時。
在Cassandra中建模資料時,您應該有以下目標:
在許多分割區的情況下,需要存取所有這些分割區來收集查詢資料。 這並不意味著不應該建立分割區。 如果您的資料非常大,則無法在單個分割區上保留大量資料。 單個分割區將會減慢。 所以必須有一個平衡數量的分割區。