【问题标题】:How Cassandra DateTieredCompactionStrategy identifies my data timestamp?Cassandra DateTieredCompactionStrategy 如何识别我的数据时间戳?
【发布时间】:2016-06-06 18:08:29
【问题描述】:

刚接触 Cassandra,我刚刚阅读了有关 Cassandra DTCS 的博客。

假设我有一个这样的表,例如,

CREATE TABLE foo (
   id text,
   t1 timestamp,
   t2 timestamp,
   bar text,
   PRIMARY KEY (id,t1)
);

看来我唯一需要做的就是启用 DTCS

ALTER TABLE <table> WITH compaction = {
    'class': 'DateTieredCompactionStrategy',
    'timestamp_resolution':'<resolution>', 'base_time_seconds':'3600',
    'max_sstable_age_days':'365'};

这是真的吗?那么 cassandra 如何知道我的数据的哪个字段是我希望用于 DTCS 的时间戳?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    它不使用任何“字段”的值。

    每个非键列都有一个关联的writetime,这是该策略使用的。

    这可以使用USING TIMESTAMP 子句手动设置,或者将自动设置为更新/插入/删除的时间。

    因此,您现在可能会发现您的架构中实际上不需要 t2,而只需使用 bar 的写入时间即可。

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      相关资源
      最近更新 更多