http://wiki.apache.org/cassandra/CassandraLimitations
引用:
Cassandra具有两个级别的索引:键和列。但是在 super 列族中,存在第三级子列。这些没有被索引,并且对子列的任何请求都会反序列化该 super 列中的所有子列。因此,您要避免需要大量子列的数据模型。
=>什么是子列?有趣的是,谷歌搜索该术语并没有真正产生结果。我知道 super 列的概念,但是并不清楚“子列”一词到底指的是什么(如何定义):
什么概念是正确的?
第一:
ROW-KEY
SubCol SubCol
col col col val
val val col val
要么
第二:
ROW-KEY
Column Column
SubCol SubCol SubCol SubCol
val val val val
此外,什么是定义:
comparator = UTF8Type and
subcomparator = UTF8Type and
这只是定义问题。
谢谢
马库斯
最佳答案
标准列的父级是其行。子列的父级是它的超列。除此之外,它们是相同的-只是增加了一层嵌套,尽管正如您所提到的,它对索引和检索有影响。
有关http://wiki.apache.org/cassandra/DataModel和http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model的更多信息
普通列族:
row
col col col ...
val val val ...
super 列族:
row
supercol supercol ...
(sub)col (sub)col ... (sub)col (sub)col ...
val val ... val val ...