【问题标题】:DynamoDB TTL: when are items removedDynamoDB TTL:何时删除项目
【发布时间】:2019-05-02 02:43:35
【问题描述】:

根据docs

DynamoDB 通常会在过期后 48 小时内删除过期项目。过期后真正删除项目的确切持续时间取决于工作负载的性质和表的大小

我们有什么方法可以估计在某个表中删除过期项目需要多长时间?我希望实现一种基于具有 TTL 的 DynamoDB 表和处理 DynamoDB 流的 Lambda 函数的调度程序,但我需要在项目过期后一小时内删除才能生效。如果表格不大(少于 1.000 个项目),这可能吗?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb ttl amazon-dynamodb-streams


    【解决方案1】:

    删除的确切时间不是您应该硬依赖的东西。由于 DynamoDB TTL 使用后台 I/O 容量来处理删除(这可以节省客户资金并保留他们预置的 IOPS 以供其应用程序使用),这将取决于系统中发生的其他情况,可能会有所不同。

    【讨论】:

    • 嗨,你能解释一下为什么dynamodb只删除带有ttl的id字段而不删除整个记录吗?
    【解决方案2】:

    尽管指定了 TTL 值,但 AWS 不保证删除的时间。我从与 AWS 工程师的交谈中了解到,跨区域的复制可能是 48 小时时间框架的一个因素。 DynamoDB 无法使用 1 小时的时间窗口。检查 Cloudview 日志可能会了解它是如何为您的应用程序工作的,并且需要对 TTL 参数值进行一些调整。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      相关资源
      最近更新 更多