cassandra 表中的行键
Posted
技术标签:
【中文标题】cassandra 表中的行键【英文标题】:row key in cassandra table 【发布时间】:2015-06-16 16:12:55 【问题描述】:我是 Cassandra 的新手,我对 Cassandra 中的行键和分区键感到困惑。
我正在创建一个类似的表:
Create table events( day text, hour text, dip text, sip text, count counter,
primary key((day,hour), dip, sip));
据我了解,上表中的day和hour列构成了partition key,dip、sip列构成了clustering key。
我的理解是,行键只不过是分区键,即日、小时列形成行键。
我的理解正确吗?谁能澄清一下?
【问题讨论】:
【参考方案1】:我的理解正确吗,谁能澄清一下?
是的,你的理解是正确的。行键是指分区键的“老派”方式。分区键(您可能理解)是 CQL PRIMARY KEY 的一部分,它确定数据在集群中的存储位置。在您的情况下,分区键中的数据将按 dip
和 sip
(您的集群键)排序。
您应该阅读 John Berryman 的文章 Understanding How CQL3 Maps To Cassandra’s Internal Data Structure。它很好地解释了您的表结构是如何“在后台”映射的。
【讨论】:
这个工具将帮助您可视化差异sestevez.com/sestevez/CASTableSizer 很高兴您喜欢它,您还可以让它为您的工作负载生成压力 yaml。离数据模型优化和可预测的可扩展性又近了一步。以上是关于cassandra 表中的行键的主要内容,如果未能解决你的问题,请参考以下文章