什么叫做强一致性、什么叫弱一致性?

什么叫做强一致性、什么叫弱一致性?

3 个赞

你好,可以理解为
强一致性:读取最新的已提交数据,确保数据实时性,适用于对数据一致性要求高的场景。
弱一致性:读取稍旧版本的数据,减轻主副本压力,适用于对性能要求高、对实时性要求低的场景。

7 个赞

oceanbase 是多副本的,强一致性读的意思就是永远读的都是LEADER副本的数据,保证读取的都是最新的数据,弱一致性读,读取的是FOLLOWER副本的数据,不能保证读取的数据是最新的

4 个赞

强一致性,一定要读主副本。(默认)
弱一致性, 不要求读取最新数据,请求优先路由给从副本

4 个赞

可以理解为,强一致性可以理解为在任意时间点,任意节点数据一样的。弱一致性就相当于异步的,不保证进程或者现成访问到的是最新值。

4 个赞

从业务层面看,

  1. 有的业务实时性要求很高,写入就要立即读取出来。强一致性解决,读写都从leader节点(或者主库)取数据。
  2. 有的业务实时性要求不高,写入过几秒才读取出来。弱一致性解决,可以实现读写分离,可以分担leader压力。

ob的leader加两个follower,像不像mysql一主两从的效果,mysql从库的数据通常是异步的,1秒内完成。

3 个赞

从业务读取到的数据上简单说,强一致性就是读取到已提交的最新的数据(准确的、最新的数据),除此之外都是弱一致性。

3 个赞