Amazon DynamoDB
开发人员指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

读取一致性

Amazon DynamoDB 在全世界多个 AWS 区域可用。每个区域均与其他 AWS 区域完全独立和隔离。例如,如果您在 us-east-1 区域有一个名为 People 的表,并在 us-west-2 区域有另一个名为 People 的表,则这两个表将被视为完全独立的表。有关支持 DynamoDB 的所有 AWS 区域的列表,请参阅 Amazon Web Services 一般参考 中的 AWS 区域和终端节点

每个 AWS 区域包含多个不同的称为“可用区”的位置。每个可用区都不受其他可用区故障的影响,并提供低价、低延迟的网络连接,以连接到同一区域的其他可用区。这使您可以在某个区域的多个可用区之间快速复制数据。

当您的应用程序将某个数据写入 DynamoDB 表并收到 HTTP 200 响应 (OK) 时,该数据的所有副本都会更新。该数据最终将在所有存储位置中保持一致,通常只需一秒或更短时间。

DynamoDB 支持最终一致性强一致性读取。

最终一致性读取

当您从 DynamoDB 表中读取数据时,响应反映的可能不是刚刚完成的写入操作的结果。响应可能包含某些陈旧数据。如果您在短时间后重复读取请求,响应将返回最新的数据。

强一致性读取

当您请求强一致性读取时,DynamoDB 会返回具有最新数据的响应,从而反映来自所有已成功的之前写入操作的更新。如果网络延迟或中断,可能会无法执行强一致性读取。

注意

除非您指定其他读取方式,否则 DynamoDB 将使用最终一致性读取。读取操作 (例如 GetItemQueryScan) 提供了一个 ConsistentRead 参数:如果您将此参数设置为 true,DynamoDB 将在操作过程中使用强一致性读取。