Cassandra中的行键

Posted

技术标签:

【中文标题】Cassandra中的行键【英文标题】:Row key in Cassandra 【发布时间】:2015-09-24 10:58:01 【问题描述】:

在我找到对 Cassandra 中键的很好解释之前:

Difference between partition key, composite key and clustering key in Cassandra?.

现在我正在阅读有关分区器的信息,在那里我可以看到术语“行键”。什么是行键?如何用 CQL 列出?

【问题讨论】:

【参考方案1】:

行键只是主键的另一个名称。它是所有分区和集群字段的组合,它只会映射到表中的一行数据。因此,当您对特定行键进行读取或写入时,它只会访问一行。

就分区器而言,它仅使用分区键字段,并生成一个令牌哈希值,该值确定该分区将存储在集群中的哪个节点上。各个行存储在分区内,因此如果没有集群列,则分区将保存一行,并且行键与分区键相同。

如果您有集群列,那么您可以在一个分区中存储多行,并且行键将是分区键加上集群键。

【讨论】:

ROW KEY 现在称为 PARTITION KEY,如果一个表有一个列定义为 PRIMARY KEY,那么同一列将被视为 PARTITION KEY。如果是复合键(即 PRIMARY KEY(col1, col2) ),第一列 (col1) 将被视为 PARTITION KEY。

以上是关于Cassandra中的行键的主要内容,如果未能解决你的问题,请参考以下文章

需要从 cassandra 中删除的行键中添加数据

Cassandra数据库上数据分析的替代方案

副本存储在cassandra环中的哪个节点?

Cassandra中的行排序

使用 MapReduce 作业高效处理 Cassandra 列族中的所有数据

cassandra中的分区计数