我正在DynamoDB中编写一个简单的日志记录服务.
我有一个日志表,由user_id哈希和时间戳(Unix epoch int)范围键入.
当服务的用户终止其帐户时,我需要删除表中的所有项目,而不管范围值如何.
这种操作的推荐方法是什么(请记住可能有数百万项要删除)?
据我所知,我的选择是:
答:执行扫描操作,在每个返回的项目上调用删除,直到没有剩余项目
B:执行BatchGet操作,再次对每个项目调用delete,直到没有剩下
这些对我来说都很糟糕,因为它们需要很长时间.
我理想的做法是调用LogTable.DeleteItem(user_id) - 不提供范围,并让它为我删除所有内容.