我想要了解Cassandra的复合色谱柱存储引擎.不幸的是,到目前为止我读过的文档包含错误,让我有点空白.
首先,术语.
复合列通过使用复合主键包含完全非规范化的宽行.
这似乎具有误导性,因为AFAIK复合列可以用于复合键,也可以简单地用作除键之外的复合列.
1:如何实现复合键和列名?我能找到的每个CQL示例只显示复合键作为列,而不是普通复合列.
假设我们将列'a','b','c','d'作为主要复合键+列'e','f'.我知道'a'将是行和分区键.
我们假设以下数据:
a b c d e f
1a 1b 1c 1d e1 f1
1a 1b 1c 2d e1 f2
1a 1b 1c 2d e2 f3
2a 2b 2c 2d e2 f4
Run Code Online (Sandbox Code Playgroud)
2:这是如何存放在引擎盖下的?我想这里真正的问题是'b','c','d'如何映射出来,因为列根据定义不是分层的.
3:我读过的文档说不再使用紧凑型存储.但是如果不需要添加非主键列呢...那么不使用它的原因是什么?