【发布时间】:2012-02-27 13:59:14
【问题描述】:
我正在 DynamoDB 中编写一个简单的日志记录服务。
我有一个由 user_id 哈希和时间戳(Unix epoch int)范围作为键的日志表。
当服务的用户终止他们的帐户时,我需要删除表中的所有项目,无论范围值如何。
进行此类操作的推荐方法是什么(记住可能有数百万个项目要删除)?
据我所知,我的选择是:
A:执行 Scan 操作,对每个返回的项目调用 delete,直到没有剩余项目为止
B:执行 BatchGet 操作,对每个项目再次调用 delete,直到没有剩余为止
这两个在我看来都很糟糕,因为它们需要很长时间。
我最理想的做法是调用 LogTable.DeleteItem(user_id) - 不提供范围,让它为我删除所有内容。
【问题讨论】:
标签: database nosql amazon-web-services cloud amazon-dynamodb