卡珊德拉:什么是子列

Mar*_*kus 2 cassandra

http://wiki.apache.org/cassandra/Cas​​sandraLimitations

Quote:Cassandra有两个级别的索引:键和列.但在超级列系列中,存在第三级子列; 这些都没有编入索引,并且对子列的任何请求都会反序列化该超列中的所有子列.因此,您希望避免需要大量子列的数据模型.

=>什么是子列?有趣的是,谷歌搜索这个词并没有真正产生结果.我知道超级列的概念,但它并不十分清楚"子列"这个术语究竟是指什么(如何定义):

什么概念是正确的?

第一:

ROW-KEY
   SubCol     SubCol    
    col  col  col val
    val  val  col val
Run Code Online (Sandbox Code Playgroud)

要么

第二:

ROW-KEY
   Column           Column
    SubCol SubCol   SubCol SubCol
    val    val      val    val
Run Code Online (Sandbox Code Playgroud)

此外,定义中的内容是什么:

comparator = UTF8Type and
subcomparator = UTF8Type and 
Run Code Online (Sandbox Code Playgroud)

这只是一个定义问题.

谢谢马库斯

DNA*_*DNA 7

标准列的父级是其行.子列的父级是其超级列.除此之外,它们是相同的 - 只有一个额外的嵌套级别,尽管如您所提到的那样对索引和检索有影响.

更多信息,请访问http://wiki.apache.org/cassandra/DataModelhttp://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model

正常列族:

row
    col  col  col ...
    val  val  val ...
Run Code Online (Sandbox Code Playgroud)

超级列系列:

row
      supercol                      supercol                     ...
          (sub)col  (sub)col  ...       (sub)col  (sub)col  ...
           val       val      ...        val       val      ...
Run Code Online (Sandbox Code Playgroud)

  • "WTF是超级大战"应该摆脱它的痛苦.我建议http://www.datastax.com/docs/0.8/data_model/index或Max的数据建模帖子(链接在http://wiki.apache.org/cassandra/ArticlesAndPresentations的顶部). (2认同)