【发布时间】:2014-04-24 18:31:17
【问题描述】:
我有以下数据结构:
{
ClientId: string,
ItemId: string,
Item : string
}
我想将此数据存储在 Cassandra 集群中。我知道有些客户端的项目比其他客户端多得多,但我希望将数据均匀地存储在集群的每个节点上,因为我只有一个由 ClientId 和 Item id 组成的查询。
据我所知,我需要指定分区键来均匀分布数据,所以在 CQL 中它看起来像:
CREATE TABLE IF NOT EXISTS mykeyspace.mytable
(
ClientId text,
ItemId text,
Item text,
PRIMARY KEY((ClientId, Id))
);
我需要指定任何内容作为行键吗? ClientId+ItemId 唯一标识任何行,所以我应该在第一个关闭“)”之后放置任何内容吗?
【问题讨论】:
-
您的商品 ID 每次都会改变对吧?为什么要将它作为部分分区键。你应该把它放在我觉得的聚类关键部分。
-
它不是电子商务网站。项目 - 是一大段文字,与购买无关。我想按 clientId 和 ItemId 分区,因为 Item 可能是几兆字节的文本
标签: cassandra