Apache Cassandra CQL3多个复合列格式

时间:2013-01-01 15:28:44

标签: cassandra cql cql3

使用CQL3,是否可以在表/列系列中定义多种格式的复合列?使用语法:

PRIMARY KEY(A, B, C)

看起来A变为行键,创建了B:C的复合列,并为每个附加列创建了其他复合列,其中B:C前置。

如果我想在同一列系列中拥有另一个复合列X:Y,那该怎么办呢?

2 个答案:

答案 0 :(得分:1)

我不确定使用CLI是否可行。但我们正在使用PlayOrm用于Cassandra,并且非常有可能。基本上,您可以拥有数百万个复合列。阅读this了解更多详情。给出了OneToMany关系的示例,其中您可以拥有多个名称为activities.act1,activities.act2的列。同样,您可以拥有更多具有* ToMany关系的实体,并可以将它们保存在复合列中。如果您不想使用* ToMany关系,那么您可以尝试使用@NoSqlEmbedded模式,该模式也将数据存储在复合列中。

答案 1 :(得分:0)

主键标识表的单行(所有列出的组件)。 A是一个分区键,用于定义此分区在特定服务器上的位置。

在CQL3中,每个表/列系列只有一个主键。如果需要以不同的方式访问它,则可以(有一定限制)使用实例化视图,或将数据复制到单独的表中。