数据库一致性模型

标签 database amazon-web-services amazon-dynamodb

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

强一致性读取比最终一致性读取使用更多的吞吐量,或者相反?

最佳答案

Eventually Consistent Reads

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

Strongly Consistent Reads

当您发出强一致性读取请求时,DynamoDB 会返回一个包含最新数据的响应,这些数据反射(reflect)了 DynamoDB 返回成功响应的所有先前相关写入操作的更新。 在网络延迟或中断的情况下,强一致性读取可能不太可用。 对于 GetItem、Query 或 Scan 操作,您可以通过在请求中指定可选参数来请求强一致性读取结果。

你可以找到它here

关于数据库一致性模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35080494/

相关文章:

database - 如何为单位换算表建模?

mysql - 围绕唯一数据对 MySQL 表进行分区

database - 具有 where 子句行为的分层查询 "START WITH"

mysql - 如何将内部部署的 MySQL 数据库同步到 Amazon RDS

sql - 用于银行交易的 DynamoDB

amazon-dynamodb - DynamoDB 查询抛出异常 "The query can return at most one row and cannot be restarted"

elasticsearch - Dynamodb 与 Elasticsearch

mysql - Oracle:需要帮助匹配多个条件,但将其视为一个条件

python - Flask-Bcrypt - 属性错误 : 'module' object has no attribute 'ffi' - deployed to AWS Beanstalk

amazon-web-services - 本地堆栈DynamoDB无法正常工作