【问题标题】:Does DateTieredCompactionStrategy work with composite keys?DateTieredCompactionStrategy 是否适用于复合键?
【发布时间】:2015-05-03 20:23:22
【问题描述】:

在 Apache Cassandra 2.1.2 中执行 DateTieredCompactionStrategy。使用复合聚类键?

更具体地说,就像这张表一样,其中 (timestamp, hash) 构成了一个复合聚类键:

CREATE TABLE sensordata (
    timeblock int,
    timestamp timestamp,
    hash int,
    data blob,
    PRIMARY KEY (timeblock, timestamp, hash)
)

我相信 DateTieredCompactionStrategy 适用于PRIMARY KEY (timeblock, timestamp)——但它也适用于PRIMARY KEY (timeblock, timestamp, hash) 吗?

【问题讨论】:

    标签: database cassandra cassandra-2.0


    【解决方案1】:

    DTCS 只会在压缩期间合并相似的老化表。它并不真正关心你的PK。由于您的示例的所有行仍将按时间戳进行聚类,因此您应该没问题。

    【讨论】:

    • 所以年龄不是从时间戳(列头)推导出来的,而是从实际写入时间(系统时间)推导出来的?
    • 年龄来自任何 sstable 值的最新/最旧时间戳。这些上限/下限年龄值将用于分桶表。但是这些时间戳既不是表刷新到磁盘时的时间戳,也不是数据模型中的任何列值。请记住,Cassandra 中的每个列值都有自己关联的时间戳,无论是实际时间戳类型还是文本或任何其他数据类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-22
    • 2020-05-19
    • 2014-11-17
    • 2014-10-04
    • 1970-01-01
    相关资源
    最近更新 更多