cassandra会对复合主键进行多分区搜索

时间:2016-08-25 06:01:50

标签: cassandra

我有一个场景,让我们说下面是我的cassandra表

CREATE TABLE USER (
id TEXT,
name TEXT,
age int,
role TEXT,
PRIMARY KEY ((id, role), age));

现在,我应该能够使用idroleidrole来查询用户表。我的问题是当我在id子句中仅使用roleWHERE来查找用户时,在这种情况下cassandra会在不同的分区(和节点)中搜索用户记录吗?因为我没有使用idrole来搜索我的桌子的PK。

1 个答案:

答案 0 :(得分:1)

使用复合分区键时,例如PRIMARY KEY ((id, role), age)

Cassandra将这两个值连接在一起。它是一种用于创建更独特或有时更精细的分区键的技术,以更好地控制数据在各个数据中心周围的均匀分布。

因为id和role是连接在一起的,所以你必须始终同时提供id和角色。如果只提供复合分区键的一部分,Cassandra将不知道该怎么办。