什么叫做强一致性、什么叫弱一致性?
3 个赞
你好,可以理解为
强一致性:读取最新的已提交数据,确保数据实时性,适用于对数据一致性要求高的场景。
弱一致性:读取稍旧版本的数据,减轻主副本压力,适用于对性能要求高、对实时性要求低的场景。
7 个赞
oceanbase 是多副本的,强一致性读的意思就是永远读的都是LEADER副本的数据,保证读取的都是最新的数据,弱一致性读,读取的是FOLLOWER副本的数据,不能保证读取的数据是最新的
4 个赞
强一致性,一定要读主副本。(默认)
弱一致性, 不要求读取最新数据,请求优先路由给从副本
4 个赞
可以理解为,强一致性可以理解为在任意时间点,任意节点数据一样的。弱一致性就相当于异步的,不保证进程或者现成访问到的是最新值。
4 个赞
从业务层面看,
- 有的业务实时性要求很高,写入就要立即读取出来。强一致性解决,读写都从leader节点(或者主库)取数据。
- 有的业务实时性要求不高,写入过几秒才读取出来。弱一致性解决,可以实现读写分离,可以分担leader压力。
ob的leader加两个follower,像不像mysql一主两从的效果,mysql从库的数据通常是异步的,1秒内完成。
3 个赞
从业务读取到的数据上简单说,强一致性就是读取到已提交的最新的数据(准确的、最新的数据),除此之外都是弱一致性。
3 个赞