amazon-web-services - 将具有默认值的新属性添加到现有 dynamodb 表的最有效方法是什么
问题描述
我们已经有一个包含 100000 条记录的表,我们想为所有具有默认值的项目添加一个新属性。
CLI 或用.net、python 编写程序来进行批量更新?
解决方案
不幸的是,没有有效的方法来做你想做的事。您这样做的任何方式都首先需要找出所有记录的键(可能通过读取所有键),然后使用UpdateItem
请求迭代所有这些键(不幸的是,没有批处理版本)以添加新的属性。
同样重要的是要注意,尽管该UpdateItem
操作可能只会将一个小属性添加到一个可能很大的现有项目 - 您将支付整个项目的重写费用。您基本上会为重写整个数据集付费。
看到一个类似的问题,我在这里给出了更详细的答案:需要将 TTL 添加到 3bln+ 记录 ddb 表
推荐阅读
- php - 从两个表中的任何一个中获取单行
- elasticsearch - 由于据称磁盘可用空间不足,ElasticSearch 错误地停止了索引
- neo4j - NEO4J Cypher - 过滤路径变量
- python - 如何在python中以对齐的方式打印动态二维列表?
- php - 具有 2 个提供数据的 API 的 laravel 应用程序的正确结构
- sql-server - 将子表链接到多个父表的最佳方法是什么?
- python - 代码优化 | 比 dataframe.iterrows() 更快的方法?
- amazon-web-services - 调试拒绝 ssh 连接到 EC2 实例
- java - Android 推送通知在迁移后停止工作
- r - 我的具有二项分布的 GLM 模型是否正确实施?