我最近了解了DynamoDB的两种读取模式。但我不知道何时选择什么。任何人都可以解释权衡吗?
答案 0 :(得分:8)
基本上,如果您需要拥有最新值,请使用完全一致的读取。您将获得保证的当前值。
如果你的应用程序没有可能过时的信息(仅仅几秒或更短时间),那么使用最终一致性读取。
完全一致的例子:
最终一致性读取的用例:
答案 1 :(得分:0)
除了其他答案之外,这种阅读模式的原因是:
假设您在eu-west-1地区有表User
。如果您没有意识到AWS有多个可用区域在后台处理。就像在发生故障等情况下复制数据一样。基本上有表的副本,一旦你插入表,就需要有多个资源需要更新。
但是现在当你想阅读时,你可能有可能在没有意识到的情况下阅读尚未更新的表格。通常需要不到一秒的时间才能更新dynamodb。这就是它被称为eventually consistent
的原因。它最终会在很短的时间内保持一致:)
在做决定时知道这个推理有助于我理解和设计我的用例。