【问题标题】:Is DynamoDB still following CAP theorem with its "Strong Consistency" promises?DynamoDB 是否仍然遵循 CAP 定理及其“强一致性”承诺?
【发布时间】:2015-12-02 07:12:59
【问题描述】:

以前,DynamoDB 仅提供“最终一致性”,遵守 CAP 定理的“可用性”和“分区容限”部分。

但是现在,DynamoDB 提供了“最终一致性”之外的“强一致性”选项。这是否意味着 DynamoDB 没有遵循 CAP 定理?

【问题讨论】:

  • 您对 Dynamo 论文感到困惑,该论文放弃了可用性的一致性。但 DynamoDB 是与 Dynamo 完全不同的服务。它天生具有很强的一致性。
  • 如果您认为reading from Dynamo takes a longer time 是一种不可用的形式,那么它并不违反 CAP。 availability 是 CAP 中最难定义的概念,经常被误解。

标签: amazon amazon-dynamodb key-value consistency availability


【解决方案1】:

DynamoDB,处于强一致性模式,trades against availability

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

因此,它不违反任何理论约束。

【讨论】:

  • 也可以将来自服务的 ProvisionedThroughputExceeded(限制)和 InternalServerError(服务端复制动态、网络问题等)响应视为不可用。
猜你喜欢
  • 2020-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 2015-07-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-18
相关资源
最近更新 更多