是否可以在DynamoDB创建后设置Strong Consistent Read

Can we set Strong Consistent Read on DynamoDB after creation

最近了解到DDB的两种读模式,想实现强一致性读的时候看到一篇文章https://dynobase.dev/dynamodb-read-consistency/,里面提到一致性只能在如果我们在创建 table.

时选择了最终一致性读取,那么我们仍然可以使用强一致性读取吗?

您找到的文档具有误导性。 DynamoDB 绝对 不会 要求您在创建 table 时定义读取是“最终一致”还是“强一致”。相反,在每个读取操作GetItemQueryScanBatchGetItem)上,您需要指定此读取是否将高度一致最终一致DynamoDB documentation 解释了这两种读取模式之间的区别。它进一步说:

DynamoDB uses eventually consistent reads, unless you specify otherwise. Read operations (such as GetItem, Query, and Scan) provide a ConsistentRead parameter. If you set this parameter to true, DynamoDB uses strongly consistent reads during the operation.

DynamoBase(您引用了其文档)可能会使用额外的 per-table 默认读取一致性来包装此 per-read-request 设置 - 但重要的是要意识到这 不是 一个 DynamoDB 概念,在创建 table.

后,没有什么强制您每次都使用相同的读取一致性选项