Cassandra DateTieredCompactionStrategy如何识别我的数据时间戳?

时间:2016-06-06 09:16:40

标签: cassandra

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的时间戳?

1 个答案:

答案 0 :(得分:1)

它没有使用您的任何&#34;字段&#34;的价值。

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

可以使用const子句手动设置,也可以自动设置为更新/插入/删除时。

因此,您现在可能发现您的架构中实际上并不需要USING TIMESTAMP,但只能使用t2的写入时间。