阅读量:0
一、传统的关系型数据库事务具备ACID特性
- A:原子性
- C:一致性
- I:隔离性
- D:持久性
二、分布式数据库CAP
C(consistency):一致性
所有的节点在同一时间的数据完全一致
A(availability):可用性
服务一直可用(正常的响应时间)
P(partition):分区容错性
分布式系统在遇到节点或或网络分区故障时,仍然能够对外提供满足一致性或可用性的服务。
分区容错性要求,虽然是一个分布式系统,也要看上去就好像可以运转的一个正常的整体。
比如现在的分布式系统中有一个或者几个机器宕掉了,其他剩下的机器可以满足正常运转并满足系统要求,对于用户而言并没有什么体验的影响。
三、CAP总结
1、CAP理论是针对分布式数据库环境的,所以,P这个属性必须存在且必备。如果是CA,那就是单机了。
2、可用性和一致性不可同时存在
一致性高,可用性低:
为了保证数据的一致性,需要等待失去联系的节点恢复过来,在这个过程中欧,节点不允许对外提供服务,系统处于不可用状态。
可用性高,一致性低:
失去联系的节点仍然可以对外提供服务,但是不能保证数据的同步性。
3、常见的例子是读写分离,某个节点负责写入数据,然后将数据同步到其他节点,其他读节点提供读取的服务,当两个节点出现通信故障的时候,面临CA的选择。