关于DynamoDB Query强一致性读取的两类场景疑问
DynamoDB Query强一致性读取相关问题解答
问题1解答
当执行Query操作仅指定分区键(未指定排序键)时,只要你将ConsistentRead参数设置为true,DynamoDB就会以强一致性方式返回所有匹配该分区键的项。
问题2解答
当执行Query操作指定了分区键,并对排序键应用BETWEEN表达式时,同样只要开启ConsistentRead=true,就会以强一致性返回所有匹配分区键和排序键表达式的项。
关键说明
你记忆中“需同时指定分区键和排序键才能实现强一致性读取”的内容是不准确的。根据DynamoDB官方文档说明:
诸如
GetItem、Query和Scan之类的读取操作提供可选的ConsistentRead参数。如果将ConsistentRead设置为true,DynamoDB将返回包含最新数据的响应,反映所有先前成功完成的写入操作的更新。强一致性读取仅支持表和本地二级索引。
强一致性读取的核心控制开关是ConsistentRead参数,和是否指定排序键、或者使用何种排序键条件无关——只要是针对表或本地二级索引的Query操作,都可以通过开启该参数实现强一致性读取。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

