在尝试将 Dynamodb 用于其中一个项目时,我对 dynamodb 的强一致性模型有疑问。从常见问题解答
强一致性读取 — 除了最终一致性之外,Amazon DynamoDB 还为您提供灵活性和控制权,以在您的应用程序或应用程序元素需要时请求强一致性读取。强一致性读取返回的结果反映了在读取之前收到成功响应的所有写入。
从上面的定义,我得到的是强一致性读将返回最新的写值。
举个例子:假设 Client1 在 Key K1 上发出写入命令,将值从 V0 更新到 V1。几毫秒后,Client2 发出对 Key K1 的读取命令,然后在强一致性的情况下,将始终返回 V1,但在最终一致性的情况下,可能会返回 V1 或 V0。我的理解正确吗?
如果是,如果写操作返回成功,但数据没有更新到所有副本,我们发出强一致性读,这种情况下如何保证返回最新的写值?
以下链接 AWS DynamoDB 读后写一致性 - 它在理论上是如何工作的?试图解释这背后的架构,但不知道这是否是它的实际工作方式?浏览完这个链接后,我想到的下一个问题是:DynamoDb 是否基于单主多从架构,其中写入和强一致性读取是通过主副本,而正常读取是通过其他副本。