【问题标题】:row key in cassandra tablecassandra 表中的行键
【发布时间】: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。

我的理解是,行键只不过是分区键,即日、小时列形成行键。

我的理解正确吗?谁能澄清一下?

【问题讨论】:

    标签: cassandra nosql


    【解决方案1】:

    我的理解正确吗,谁能澄清一下?

    是的,你的理解是正确的。行键是指分区键的“老派”方式。分区键(您可能理解)是 CQL PRIMARY KEY 的一部分,它确定数据在集群中的存储位置。在您的情况下,分区键中的数据将按 dipsip(您的集群键)排序。

    您应该阅读 John Berryman 的文章 Understanding How CQL3 Maps To Cassandra’s Internal Data Structure。它很好地解释了您的表结构是如何“在后台”映射的。

    【讨论】:

    • 这个工具将帮助您可视化差异sestevez.com/sestevez/CASTableSizer
    • 很高兴您喜欢它,您还可以让它为您的工作负载生成压力 yaml。离数据模型优化和可预测的可扩展性又近了一步。
    猜你喜欢
    • 1970-01-01
    • 2013-09-04
    • 2015-04-04
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 2016-09-16
    • 1970-01-01
    相关资源
    最近更新 更多