分布式数据库含义:用分布式架构实现的关系型数据库,是服务于写多读少(写入能力需要可水平扩展)、低延时、海量并发 OLTP (联机交易)场景的,具有海量数据存储能力和高可靠性的关系型数据库
需要达成的目标:存储、事务、查询、复制、其他
分布式数据库的强一致性包括数据一致性和事务一致性,是两者的融合;
数据一致性关注的是单对象、单操作在多副本上的一致性;
事务一致性则是关注多对象、多操作在单副本上的一致性
数据一致性:首先是状态视角,数据只有两种状态:所有副本一致或者不一致,不一致的状态是暂时,还会转换到一致的状态,而那些永远不一致的情况几乎不会去讨论,所以把不一致称为“弱一致”。相对的,一致就叫做“强一 致”,强一致会导致性能略差、可用性也降低,因此会采用最终一致性,此时可以从操作视角来分析,分为常见的五种最终一致性:写后读一致性、单调读一致性、前缀一致性、线性一致性、因果一致性
事务一致性:使用ACID,最核心的就是隔离级别,可以分为五个级别:
数据一致性和事务一致性的关系:不同颜色分别代表了不同的一致性级别所需付出的性能代价