【问题标题】:How to change default time to live table value in cassandra如何在 cassandra 中将默认时间更改为活表值
【发布时间】:2020-04-19 12:59:20
【问题描述】:

我们需要将 cassandra 中表的默认生存时间从 5 天更改为 10 天。如果我更改表并设置新的 ttl 值,现有数据会发生什么。请建议为生产数据执行此操作的最佳选择。

【问题讨论】:

    标签: cassandra cassandra-3.0


    【解决方案1】:

    对表的默认 TTL 值的任何更改都将应用于进入表的新更新(新写入或更新)。现有列的 TTL 值将保持在该列值更新时计算的值。

    从您的问题中不清楚您对现有数据的要求是什么。如果您也想更新现有列值的 TTL 值,AFAIK 没有简单的方法可以做到这一点。

    【讨论】:

      【解决方案2】:

      TTL 是决定数据在墓碑之前存入表中的时间的值。 Datastax 在这里做了一个很好的解释。

      TTL(生存时间)以秒为单位,其中零被禁用。最大可配置值为 630720000(20 年)。如果该值大于零,则为整个表启用 TTL,并为每列添加一个过期时间戳。每次更新数据时都会计算一个新的 TTL 时间戳,并在所有数据过期后删除该行。 默认值:0(禁用)。您可以参考 Cassandra 中表所有表属性的更多详细信息。 https://docs.datastax.com/en/cql-oss/3.3/cql/cql_reference/cqlCreateTable.html#tabProp__cqlTableDefaultTTL

      要更改 default_time_to_live,您需要按照上面的链接提醒表属性。

      【讨论】:

        猜你喜欢
        • 2015-04-06
        • 2022-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-11
        • 2020-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多