【问题标题】:Cassandra `select all from table` break the data model ruleCassandra `select all from table` 破坏了数据模型规则
【发布时间】:2016-03-28 10:42:17
【问题描述】:

我在这里有一个一列的表格:

用户

  • 用户名(主键)

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

如果我使用SELECT * FROM user 进行查询,它将从所有违反规则Rule 2: Minimize the Number of Partitions Read 的分区中读取数据,从此链接http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling

从表中选择所有数据时有什么办法不违反规则?

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    如果您想从单个分区中获取所有用户,那么您可以使用额外的列作为具有恒定值的分区键。因此,您所有的用户名都将驻留在同一个分区上。 不过,在上述情况下,你会破坏Rule 1:Spread data evenly around the cluster 连文件都说:

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

    【讨论】:

      猜你喜欢
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 2014-12-02
      • 1970-01-01
      • 2019-03-05
      • 2014-08-12
      • 2017-04-22
      相关资源
      最近更新 更多