Cassandra`从表中选择全部'打破数据模型规则

时间:2015-12-22 08:15:28

标签: cassandra cql

我的桌子上有一栏:

用户

  • 用户名(主键)

在这种情况下,列用户名是主密钥和分区密钥。

如果我使用SELECT * FROM user进行查询,它将从此链接http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling

中读取违反规则Rule 2: Minimize the Number of Partitions Read的所有分区中的数据

从表中选择所有数据时,有没有办法不破坏规则?

1 个答案:

答案 0 :(得分:1)

如果要从单个分区获取所有用户,则可以使用额外列作为具有常量值的分区键。所以你的所有用户名都将驻留在同一分区上。 不过,在上述情况下,您将会中断Rule 1:Spread data evenly around the cluster 甚至文件都说:

  

关键是,这两个目标经常发生冲突,所以你需要尝试平衡它们。