进行数据复制主要出于两个目的:可靠性和性能。数据一旦被复制,就会带来一致性的问题。
以数据为中心的一致性模型
- 严格一致性
对数据项x的读操作返回的值为最近写入x的值。特点:绝对全局时间次序。严格一致性是限制性最强的模型,不可实现,没有全局时钟。
- 顺序一致性
所有进程执行的结果,等同于它们的操作按某种顺序在数据仓上执行的结果。每个进程的操作都按照程序规定的顺序。所有进程看到相同的内存访问操作次序,等价于数据库的可串行化(serializability)。
- 因果一致性
因果关系(Causality):
P1写x,P2读x,则R2(x)与W1(x)具有潜在的因果关系。
P1写x,P2读x,然后写y,则W2(y)与W1(x)具有潜在的因果关系。
否则,操作之间的关系为并发(Concurrent)