天天看點

cassandra的table結構分析

組合鍵(Compound keys)和聚類(clustering)

組合鍵提供了聚類功能。例如定義(a, b) PRIMARY KEY是一個組合鍵。

建議使用uuid類型作為key,便于進行序列化操作。

cassandra規定組合鍵的第一個成員a用于分區(partition),後面的成員b則用于聚類。

實際存儲時,a值相同的行存儲在一起,并按照b進行排序,這就使查詢等操作十分高效。

a值相同的行在進行插入,更新和删除等操作時是原子的,互不幹擾的。

歸集列(Collection columns)

CQL 3 引入以下歸集類型

• 集合

• 清單

• 映射

以前的cassandra版本在處理一個使用者多個郵箱等問題時不如SQL優雅(SQL隻需再建立一個郵箱表就可以了),

新的cassandra CQL 3版本可以通過把郵箱字段定義為歸集類型即可。

再比如對于一首mp3歌曲,可以用集合類型設定tags,用list類型設定評論,用map類型設定點播時間等。

待續...

繼續閱讀