我们可以在创建后在 DynamoDB 上设置强一致性读取吗

sud*_*ral 5 amazon-web-services amazon-dynamodb

最近了解了DDB的两种读模式,想实现强一致性读,偶然看到一篇文章https://dynobase.dev/dynamodb-read-consistency/,里面提到一致性只能是在创建时设置,因此如果我们在创建表时选择了最终一致性读取,我们仍然可以使用强一致性读取。

Nad*_*'El 7

您发现的文档具有误导性。DynamoDB 绝对不要求您在创建表时定义读取是否“最终一致”或“强一致”。相反,在每个读取操作GetItem、、、、)中,您需要指定Query此读取是强一致还是最终一致。DynamoDB文档解释了这两种读取模式之间的区别。它还说:ScanBatchGetItem

DynamoDB 使用最终一致读取,除非您另外指定。读取操作(例如GetItemQueryScan)提供ConsistentRead参数。如果您将此参数设置为 true,DynamoDB 在操作期间将使用强一致性读取。

DynamoBase(您引用的其文档)可能会使用额外的每表默认读取一致性来包装此每次读取请求设置 - 但重要的是要认识到这不是DynamoDB概念,并且没有什么强制您使用每次创建表后都使用相同的读取一致性选项。