我的分布式数据库是 C+A 还是 A+P?
Is my distributed database C+A or A+P?
让分布式数据库有一个恢复机制,例如,如果它被网络分区分割,允许双方继续工作,双方继续提交事务,当分区结束时,他们同意回到上次的普通状态。
我们应该说这个系统:
- 是 A+P,因为它有一个内置的(不是很聪明的)机制来处理分区,而且我们可以拒绝已经完成的提交这一事实有点破坏了一致性?
- 是C+A,因为它不真正处理分区,状态总是一致的(从来没有记录过混合奇怪的东西)?
- 另一个更复杂的选项?
"when the partition is ending, they agree to go back to the last common state."
你的意思是说从时间t1(分区分裂发生时)到时间t2(分区分裂结束时)的所有写入都丢失了?
这会使您的数据库既不一致也不持久。
但是,您需要提供可用性和分区容错性。
让分布式数据库有一个恢复机制,例如,如果它被网络分区分割,允许双方继续工作,双方继续提交事务,当分区结束时,他们同意回到上次的普通状态。
我们应该说这个系统:
- 是 A+P,因为它有一个内置的(不是很聪明的)机制来处理分区,而且我们可以拒绝已经完成的提交这一事实有点破坏了一致性?
- 是C+A,因为它不真正处理分区,状态总是一致的(从来没有记录过混合奇怪的东西)?
- 另一个更复杂的选项?
"when the partition is ending, they agree to go back to the last common state."
你的意思是说从时间t1(分区分裂发生时)到时间t2(分区分裂结束时)的所有写入都丢失了?
这会使您的数据库既不一致也不持久。
但是,您需要提供可用性和分区容错性。