DynamoDB TTL 跟不上标记,删除项目的速度不够快,有什么办法可以加快速度吗?
DynamoDB TTL not keeping up with flagging, not deleting items fast enough, is there any way to speed it up?
我在 DynamoDB 中有一个 table,每 15 秒(4/分钟)添加一个项目。我现在在 table 中有超过 5 GB 的空间,我不需要过去 30 天左右的数据。因此,我将 TTL 设置为在 30 天后开始标记项目。但是,TTL 每分钟只删除大约 1 或 2 个项目,所以它跟不上。
有什么办法可以提高TTLs的删除率吗?
顺便说一下,我的脚本在 python 3.
更新:在为 TTL 标记更多项目后,~ 100k,删除率增加到~ 10/分钟。虽然它仍然可能不会在 48 小时内清除它们,但看起来很快就会清除它们。删除率与 TTL 过期项目的总数成正比——只是不那么精确,我有 100 个项目和 10,000 个项目相同的绝对删除率。
根据 Amazon 的文档,他们的目标是在大约 48 小时内删除所有超时的对象:
Depending on the size and activity level of a table, the actual delete
operation of an expired item can vary. Because TTL is meant to be a
background process, the nature of the capacity used to expire and
delete items via TTL is variable (but free of charge). TTL typically
deletes expired items within 48 hours of expiration.
可在此处找到更多详细信息:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/howitworks-ttl.html
如果您的项目在几天后超出了“典型”TTL 清理时间,则可能需要致电 AWS 支持。
我在 DynamoDB 中有一个 table,每 15 秒(4/分钟)添加一个项目。我现在在 table 中有超过 5 GB 的空间,我不需要过去 30 天左右的数据。因此,我将 TTL 设置为在 30 天后开始标记项目。但是,TTL 每分钟只删除大约 1 或 2 个项目,所以它跟不上。
有什么办法可以提高TTLs的删除率吗?
顺便说一下,我的脚本在 python 3.
更新:在为 TTL 标记更多项目后,~ 100k,删除率增加到~ 10/分钟。虽然它仍然可能不会在 48 小时内清除它们,但看起来很快就会清除它们。删除率与 TTL 过期项目的总数成正比——只是不那么精确,我有 100 个项目和 10,000 个项目相同的绝对删除率。
根据 Amazon 的文档,他们的目标是在大约 48 小时内删除所有超时的对象:
Depending on the size and activity level of a table, the actual delete operation of an expired item can vary. Because TTL is meant to be a background process, the nature of the capacity used to expire and delete items via TTL is variable (but free of charge). TTL typically deletes expired items within 48 hours of expiration.
可在此处找到更多详细信息:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/howitworks-ttl.html
如果您的项目在几天后超出了“典型”TTL 清理时间,则可能需要致电 AWS 支持。