1

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

PRIMARY KEY(A, B, C)

看起来 A 成为行键,创建了 B:C 的复合列,并为每个附加列创建了附加的复合列,并在 B:C 前面添加。

如果我想在同一个列族中拥有另一个复合列 X:Y - 可以实现吗?

4

2 回答 2

1

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

于 2013-01-02T08:08:26.380 回答
0

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

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

于 2018-10-28T11:04:11.440 回答