Yas*_*ala 5 amazon-s3 amazon-web-services amazon-dynamodb
为什么 AWS 在 DynamoDB 中说“强一致性”而在 S3 中说“写后读一致性”?这两个意思是一样的吗?
Mic*_*bot 16
这两个术语本质上是同一个东西,从某种意义上说,先读后写是一种强一致性。
值得注意的区别在于,DynamoDB 的强一致性包括先读后更新和先读后删除,以及先读后写。S3 只提供先读后写……所以我们可以说先读后写是强一致性的一个子集。
在 S3 中,一切最终都与一个例外一致:如果您创建了一个对象并且您之前没有尝试过获取该对象(例如在创建之前检查该对象是否已经存在),那么在创建它之后获取该对象将始终返回您创建的对象。这就是 S3 中的先读后写一致性,它在所描述的情况下始终可用——您不必要求 S3 对新对象进行强一致性写后读,因为它始终提供。
S3 中的任何其他操作都没有这种一致性保证。例子:
所有这些都是S3 一致性模型的方面,它们是性能优化的结果。
DynamoDB 也针对性能进行了优化,因此,出于同样的原因,它默认为最终(非强)一致性……但如果需要,您可以在 DynamoDB 中指定强一致性读取。这些带有警告:
如果存在网络延迟或中断,强一致性读取可能不可用。在这种情况下,DynamoDB 可能会返回服务器错误 (HTTP 500)。
强一致性读取可能比最终一致性读取具有更高的延迟。
全局二级索引不支持强一致性读取。
强一致性读取比最终一致性读取使用更多的吞吐量
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html
小智 7
对于那些在 2020 年 12 月及以后看到这篇文章的人来说,更新 \xe2\x80\x93 AWS S3 现在可以自动为 GET、PUT 和 LIST 操作以及更改对象标签、ACL 或元数据的操作提供强一致性。存储桶配置具有最终一致性模型。
\n| 归档时间: |
|
| 查看次数: |
3703 次 |
| 最近记录: |