gpt4 book ai didi

amazon-web-services - 如何更新 DynamoDB 中的所有记录?

转载 作者:行者123 更新时间:2023-12-04 08:18:36 26 4
gpt4 key购买 nike

我是 nosql/DynamoDB 的新手。

我有一个大约 10 000 个容器项目记录的列表,每 6 小时更新一次:

[
{ containerId: '1a3z5', items: ['B2a3, Z324, D339, M413'] },
{ containerId: '42as1', items: ['YY23, K132'] },
...
]

(主键 = containerId)

  1. 删除表,然后用新值重新创建是否可行?

  2. 或者我应该遍历新列表的每一项,并有条件地更新/写入/删除当前的 DynamoDB 记录(使用 batchwrite)?

最佳答案

对于这种情况,批量更新是更好的方法。你有 2 个案例:

  • 如果您只需要更新某些记录,那么批量更新效率更高。您可以扫描整个表并迭代记录并仅更新某些记录。
  • 如果您需要每 6 小时更新一次所有记录,批量更新会更有效率,因为如果您删除表并重新创建表,这也意味着您必须重新创建索引,这不是一个非常快的过程。在重新创建表后,您仍然需要执行插入操作,同时您必须将所有记录保存在另一个数据库或内存中。

如果您需要从具有数千或更多记录的表中删除所有数据,那么删除整个表是一种很好的方案,这比重新创建表要快得多,而不是通过 API 删除所有记录。

还有一个建议,您是否考虑过替代方案,因为您的问题看起来不像是 DynamoDB 的好用例。例如,MongoDB 和 Cassandra 支持开箱即用的查询更新。

关于amazon-web-services - 如何更新 DynamoDB 中的所有记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46862368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com