我们有一个动态表,附近有5000件物品。该表的主键是一个名为“serialNumber”的列。我们必须运行一个预定的作业来获取所有序列号并进行一些处理。查询此数据的最佳方法是什么?我们只需要序列号,而不需要任何其他列。我应该使用scan / LSI / paginated查询还是其他什么?
答案 0 :(得分:0)
而不是查询所有数据,我建议使用带lambda的dynamodb流。您将只能获得主键值,并且可以按照您的需要进行操作。
答案 1 :(得分:0)
如果您需要重复获取表格中所有序列号的列表,您可以使用仅序列号的投影进行扫描。对于具有5000个项目的表格,这将非常快速地执行并且不会消耗大量的容量(您可能正在查看大约20个IOP用于扫描)。对于微不足道的负载和不经常访问(即每小时一次,或每天一次)扫描是可行的方法 - 不需要过多的复杂性。
但是,如果您希望表格的内容一直在变化,并且您需要近乎实时的更新,那么可能需要使用具有缓存功能的Dynamo Stream to Lambda。