问题描述
上下文:
我们对DynamoTable的需求很高,它负责了解经常更新并实时需要的用户属性
我们还需要每天为每个用户拍摄此属性的快照。
问题解决方案:
为解决此问题,我们决定为dynamo引入一些额外的属性(更新时间),并设置一个GSI,其中每隔x小时我们就会查询最近更新的行并将信息复制到SQL Server。
然后,当我们开始接收到全部负载并且GSI索引无法处理时,就会出现问题,因为我们开始有一个“热分区” ,如果没有完全失去了拥有GSI的含义。 我们做错了什么吗?还是表明这对于高需求表来说只是一个不好的解决方案?
头脑风暴:
尽管我们打算将动态转移到预配置的吞吐量,但是随后我们发现,此GSI的成本比表本身要贵得多,因此值得商。
然后我们有2个想法,我正在寻找见解的一个是:
将DynamoDb流与KEYS_only属性一起使用,但是当我阅读文档时,对我来说这部分听起来并不清晰:
DynamoDB流有助于确保以下内容:
每个流记录在流中仅显示一次。
这是否意味着记录内容本身仅出现一次? 假设我在早上7点更新一条记录(在流中添加了 hashKey [999] ),然后我在7:30 AM和9 AM再次更新了
当我查询流时,我将得到999次三次还是只有第一个,因为内容将是相同的(我想)?
有人使用dynamoDB Stream来解决这样的问题吗?您能否提供有关成本的个人经验(有什么意外吗?),如何轻松查询流,意外问题或其他?
此外,我希望能获得有关如何解决此问题的指导。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)