是否可以在DynamoDB创建后设置Strong Consistent Read
Can we set Strong Consistent Read on DynamoDB after creation
最近了解到DDB的两种读模式,想实现强一致性读的时候看到一篇文章https://dynobase.dev/dynamodb-read-consistency/,里面提到一致性只能在如果我们在创建 table.
时选择了最终一致性读取,那么我们仍然可以使用强一致性读取吗?
您找到的文档具有误导性。 DynamoDB 绝对 不会 要求您在创建 table 时定义读取是“最终一致”还是“强一致”。相反,在每个读取操作(GetItem
、Query
、Scan
、BatchGetItem
)上,您需要指定此读取是否将高度一致或最终一致。
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.
后,没有什么强制您每次都使用相同的读取一致性选项
最近了解到DDB的两种读模式,想实现强一致性读的时候看到一篇文章https://dynobase.dev/dynamodb-read-consistency/,里面提到一致性只能在如果我们在创建 table.
时选择了最终一致性读取,那么我们仍然可以使用强一致性读取吗?您找到的文档具有误导性。 DynamoDB 绝对 不会 要求您在创建 table 时定义读取是“最终一致”还是“强一致”。相反,在每个读取操作(GetItem
、Query
、Scan
、BatchGetItem
)上,您需要指定此读取是否将高度一致或最终一致。
DynamoDB documentation 解释了这两种读取模式之间的区别。它进一步说:
DynamoDB uses eventually consistent reads, unless you specify otherwise. Read operations (such as
GetItem
,Query
, andScan
) provide aConsistentRead
parameter. If you set this parameter to true, DynamoDB uses strongly consistent reads during the operation.
DynamoBase(您引用了其文档)可能会使用额外的 per-table 默认读取一致性来包装此 per-read-request 设置 - 但重要的是要意识到这 不是 一个 DynamoDB 概念,在创建 table.
后,没有什么强制您每次都使用相同的读取一致性选项