Dynamodb 的清除技术

Posted

技术标签:

【中文标题】Dynamodb 的清除技术【英文标题】:Purging technique for Dynamodb 【发布时间】:2016-10-05 16:38:27 【问题描述】:

我是 Amazon Dynamodb 世界的新手,具有强大的关系数据库世界背景:-p

我正在编写一项使用 AWS lambda 功能的服务,该功能将数据从 dynamodb 迁移到 RedShift 以进行分析。我的目标是在 dynamodb 中只保留 1 个月的活动数据,然后定期清除它。

我进行了很多研究,但找不到可以避免全表扫描的 Amazon dynamodb 的精确清除技术。

另外,我想根据作为时间戳属性的 Range 键属性执行删除。

有人可以帮帮我吗?

谢谢

【问题讨论】:

使用查询而不是扫描 也许可以尝试使用 ttl 属性,它会在 x 天后被删除。 【参考方案1】:

根据我的经验,处理这项工作最简单且最具成本效益的方法是每个月创建一个新表,并在时间流逝并且完成处理它们时删除完整的旧表。

如果您可以让您的用例使用 TABLE-MMYYYY,那将对您有很大帮助。

【讨论】:

谢谢陈。这是我之前想到的选项,但问题是我的系统在删除和重新创建表时无法停止填充表中的数据。我不断将数据写入表中,例如每小时 3000-5000 个项目 我看它的方式是在一个月开始的前一天创建表,然后写入将数据写入当前月份的正确表。然后通过一个月的几天,一旦你处理完上个月的数据,你就可以删除整个表

以上是关于Dynamodb 的清除技术的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB到DynamoDB

清除发电机数据库表而不指定任何键

Lambda 和 DynamoDB:无权执行:dynamodb:Scan

如何为用户 id 等于 DynamoDB 表名的 DynamoDB 创建策略?

Amazon DynamoDB, 面向互联网应用的高性能可扩展的NoSQL数据库

Dynamodb客户端中缺少DynamoDB映射器类