Aerospike是否提供没有冲突可能性的CP模式
Does Aerospike provide CP mode without conflict possibilities
目前我正在为我的项目评估 Aerospike。对于不适合 RAM 的数据大小,我需要简单的 key/value 存储,具有强一致性(在任何情况下都不会发生值版本冲突)和最大化的耐用性(数据丢失是极其有害的)。 Aerospike 似乎是最合适的选择之一。我唯一担心的是是否真的支持强一致性。
根据 Aerospike 白皮书 https://www.aerospike.com/docs/architecture/assets/AerospikeACIDSupport.pdf 不支持 CP 模式:
To
enable Aerospike to be used in more domains, we plan to add a configuration for
operating the cluster in CP mode in addition to the AP mode that is supported now
同时 Aeospike 提供了不同的一致性保证 http://www.aerospike.com/docs/architecture/consistency.html write.commit_level=all 将使不一致变得不可能,因为它更多的是关于耐用性而不是一致性。
那么有没有办法在单个 DC/region 部署中在任何情况下(例如副本故障、集群分区、网络延迟等)使用 Aerospike 集群而不会发生值冲突?在这种情况下配置应该如何?
CP 模式是我们目前正在积极开发的东西。你说 'strong consistency' 是什么意思?现在我们有冲突解决策略,这样在裂脑中可以使用记录的生成或 TTL(生存时间)来决定哪个记录 'wins' 发生冲突。
最新的 Aerospike 版本(版本 4.x +)具有 CP 模式 - 它称为强一致性模式 - 由 Jepsen 评估。 (参见 http://jepsen.io)
目前我正在为我的项目评估 Aerospike。对于不适合 RAM 的数据大小,我需要简单的 key/value 存储,具有强一致性(在任何情况下都不会发生值版本冲突)和最大化的耐用性(数据丢失是极其有害的)。 Aerospike 似乎是最合适的选择之一。我唯一担心的是是否真的支持强一致性。
根据 Aerospike 白皮书 https://www.aerospike.com/docs/architecture/assets/AerospikeACIDSupport.pdf 不支持 CP 模式:
To enable Aerospike to be used in more domains, we plan to add a configuration for operating the cluster in CP mode in addition to the AP mode that is supported now
同时 Aeospike 提供了不同的一致性保证 http://www.aerospike.com/docs/architecture/consistency.html write.commit_level=all 将使不一致变得不可能,因为它更多的是关于耐用性而不是一致性。
那么有没有办法在单个 DC/region 部署中在任何情况下(例如副本故障、集群分区、网络延迟等)使用 Aerospike 集群而不会发生值冲突?在这种情况下配置应该如何?
CP 模式是我们目前正在积极开发的东西。你说 'strong consistency' 是什么意思?现在我们有冲突解决策略,这样在裂脑中可以使用记录的生成或 TTL(生存时间)来决定哪个记录 'wins' 发生冲突。
最新的 Aerospike 版本(版本 4.x +)具有 CP 模式 - 它称为强一致性模式 - 由 Jepsen 评估。 (参见 http://jepsen.io)