【问题标题】:TTL settings for rollups tables in OpsCenter keyspace?OpsCenter 键空间中汇总表的 TTL 设置?
【发布时间】:2016-09-30 22:29:00
【问题描述】:

默认情况下,rollup360、rollup60、rollup7200、rollup86400 等汇总表的 default_time_to_live 值为 0,这意味着数据永不过期。但是根据Opscenter Metrics blog 使用 Cassandra 内置的 ttl 支持,OpsCenter 会在 7 天后使 rollups60 列族中的列失效,在 4 周后使 rollups300 列族失效,在 1 年后使 rollups 7200 列族失效,并且在 rollups86400 列中的数据家庭永不过期。

  1. 此设置背后的原因是什么?我们在哪里为这些表设置 TTL?
  2. 既然 OpsCenter 数据在增长,我们不应该为 在表级别汇总表?

但在 opscenterd.conf 中,默认值如下所列。

[cassandra_metrics]
1min_ttl = 86400 
5min_ttl = 604800
2hr_ttl = 2419200

哪些设置优先于其他设置?

【问题讨论】:

  • 插入时间 ttls。在您的 select 语句中使用 ttl(field name) 检查它们。

标签: datastax-enterprise opscenter


【解决方案1】:

如果没有在documentation 中定义的任何地方设置默认值:

1min_ttl 以秒为单位设置过期时间 1 分钟数据点。默认值为 604800(7 天)。

5min_ttl 以秒为单位设置过期时间 5 分钟数据点。默认值为 2419200(28 天)。

2hr_ttl 以秒为单位设置过期 2 小时的时间 数据点。默认值为 31536000(365 天)。

24hr_ttl 设置 24 小时数据的过期时间 点。默认值为 0,或从不。

如果您不设置它们,它将使用默认值,但如果您在opscenterd.conf[cassandra_metrics] 部分覆盖它们。当节点上的代理存储一段时间的汇总时,它将包括与其关联的任何 TTL,即(不完全是 opscenter 是如何做到的,而是出于演示目的):

INSERT INTO rollups60 (key, timestamp, value) VALUES (...) USING TTL 604800;

在您的示例中,您降低了 TTL,这将减少存储的数据量。所以对于:

1) 您设置较低的 TTL 以减少存储在磁盘上的数据量。您可以按照票证中的说明进行配置。尽管压缩策略会显着影响这一点。

2) 表上有一个默认的 ttl 设置,但是在每个查询中设置它和在表中设置它并没有太大区别。与仅更改插入时 ttl 的值相比,如果需要更改表,则执行更改表非常昂贵。如果表中的过时数据存在问题,请尝试切换到 LeveledCompactionStrategy(这不会增加压缩时的 IO,但可能不会引起注意)

【讨论】:

    【解决方案2】:

    根据: https://docs.datastax.com/en/latest-opsc/opsc/configure/opscChangingPerformanceDataExpiration_t.html

    “编辑 cluster_name.conf 文件。”

    克里斯,你建议编辑 opscenterd.conf。

    【讨论】:

      猜你喜欢
      • 2017-11-12
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 2017-04-07
      • 1970-01-01
      相关资源
      最近更新 更多