数据库一致性模型

时间:2016-01-29 09:00:20

标签: database amazon-web-services amazon-dynamodb

我在AWS中设置了DynamoDB。我想知道选择强一致性读取的吞吐量影响

强度一致的读取比最终一致的读取使用更多的吞吐量,反之亦然?

2 个答案:

答案 0 :(得分:1)

  

最终一致的阅读

当您读取数据(GetItem,BatchGetItem,Query或Scan操作)时,响应可能不会反映最近完成的写操作(PutItem,UpdateItem或DeleteItem)的结果。响应可能包括一些陈旧的数据。所有数据副本的一致性通常在一秒钟内达到;因此,如果您在短时间后重复读取请求,则响应将返回最新数据。默认情况下,Query和GetItem操作最终执行一致的读取,但您可以选择请求强一致性读取。默认情况下,BatchGetItem操作最终是一致的,但您可以在每个表的基础上指定强一致性。默认情况下,扫描操作最终一致。

  

非常一致的阅读

当您发出强一致性读取请求时,DynamoDB会返回一个响应,其中包含最新数据,这些数据反映了DynamoDB返回成功响应的所有先前相关写入操作的更新。 A strongly consistent read might be less available in the case of a network delay or outage.对于GetItem,查询或扫描操作,您可以通过在请求中指定可选参数来请求强一致的读取结果。

你可以找到它here

答案 1 :(得分:0)

这是有据可查的here

  

读取所需的容量单位:每秒读取的项目数×4   KB项目大小

     

(如果您最终使用一致读取,则每秒读取次数会增加一倍。)

如此强大的一致性读取使用的配置吞吐量是最终一致读取的两倍。