一个事件平台将排行榜结果存储在 DynamoDB 中,并保留 30 天,之后一个计划作业会删除旧数据。该表使用固定的写入容量,但在繁忙的月份,计划的删除作业会导致写入节流。开发人员需要一个长期解决方案,以删除旧的排行榜记录并优化写入吞吐量。哪种方法可以满足此要求?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 在项目上启用 TTL (time-to-live) 属性,以便 DynamoDB 自动删除过期的排行榜数据。.
为什么这是答案
正确答案是启用 TTL (time-to-live) 属性。DynamoDB 的 TTL 功能允许您为项目指定一个过期时间戳。一旦当前时间超过该时间戳,DynamoDB 会自动异步删除该项目,而不会消耗表的写入容量。这解决了现有计划删除作业导致写入节流的问题,因为删除操作在后台进行,不会影响应用程序的正常写入吞吐量。 其他选项不合适: 使用 DynamoDB Streams 安排和删除旧的排行榜项目:DynamoDB Streams 记录对表的修改,但它本身不提供删除旧数据的功能。您仍然需要一个消费者来处理流并执行删除操作,这可能再次导致写入节流。 使用 AWS Step Functions 安排和删除旧的排行榜项目:Step Functions 可以编排删除逻辑,但它仍然需要调用 DynamoDB API 来执行删除,这与当前的计划作业本质相同,无法避免写入节流问题。 在计划的删除作业期间增加表的写入容量:这只是一个临时缓解措施,增加了成本,并且需要手动干预或复杂的自动化,未能从根本上解决删除操作消耗写入容量的问题。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡