mysql - DynamoDB 中的最新分区键条目
问题描述
所以要解释我的用例和我卡住的地方:
我正在将 Mysql 数据库复制到 DynamoDB 实例。进入 DynamoDB 后,表如下所示:
分区键是record_index,排序键是meterId。
我要做的是调整我的 API 来查询 Mysql DB 并写入 DynamoDB:
在 DynamoDB 中查询最后写入的 record_index(最大数字,因为它在 Mysql DB 中是增量的),使用该 record_index 结果作为查询 Mysql DB 的起点,然后将结果写入 DynamoDB 表。
实际上,我正在尝试创建一个只写入增量数据的 API。
我已经用谷歌搜索和搜索,但找不到会导致我需要的扫描或查询。
有什么建议么?
解决方案
当您在表中添加新记录时,请包含始终具有相同值(例如“常量”)的属性(例如“my_attr”)。
创建一个二级索引,其中my_attr
主键record_index
是排序键。然后通过my_attr='constant'查询二级索引,降序限制为一个结果。退回的物品将是您最后的record_index
.
请注意,这会创建所谓的热分区。如果您需要此查询的高吞吐量或在主表中插入/更新数据,则此设计可能会出现问题。
查看更多:https ://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html
推荐阅读
- java - 使用 Jmeter 连接到 MQ,并提供返回地址
- python - 如何将变量注入到 Django 模板的上下文中,类似于内置“url”标签的“as”参数?
- ios - 如何在 Swift 中将 UIColor 转换为 3/4/6/8 位十六进制字符串?
- gradle - 只为一个子项目调用 Gradle 任务
- java - Java Android If Else Break 出现问题故障排除
- python - Scipy welch 和 MATLAB pwelch 不提供相同的答案
- java - Springboot 测试未返回预期结果
- c# - 如何让我的角色以第三人称在镜头周围跑来跑去?
- javascript - 似乎无法将我的 CSS 和 JS/Jquery 文件集成到我的 HTML 中
- python - django.core.exceptions.AppRegistryNotReady:应用程序尚未加载。当我运行 uwsgi