ACID:数据库
A:原子性:一次操做要么执行成功,要么执行不成功;并发
C:一致性:是指事务的执行不能破坏数据的完整性和一致性,一个事务在执行前和执行后数据库都要保持一致性状态;分布式
I:隔离性:在并发的环境下,并发的事务是相互隔离的;spa
D:持久性:事务一旦提交,那么结果就变成不可更改的。队列
隔离级别:事务
隔离级别 | 脏读 | 可重读 | 幻想读 |
未受权读 | 存在 | 存在 | 存在 |
受权读 | 不存在 | 存在 | 存在 |
可重复读 | 不存在 | 不存在 | 存在 |
串行化 | 不存在 | 不存在 | 不存在 |
下面是个简单的画图表示这几种状况下读取到的数据ci
说明串行化是最高级别,他讲任务存在在一个队列,串行化执行,table
这里为何在分布式中说道关系型数据库ACID这些东西,由于在传统的单机模式下,ACID可以很好地知足咱们的业务需求,那么在分布式环境下面呢,数据分散在集群内部不一样的机器上,好比一个跨行转帐的业务,一个是甲方银行的转出庄户,收款方为乙银行的客户,那么映射到程序中就会使两个不一样的服务,这两个服务之间仍是彼此独立,无状态,互不影响的,这两个不一样服务构成了一个分布式下的任务,若是按照ACID区作确定不能够,由于分布式环境下存在拜占庭问题,通讯不可信,那么咱们就要考虑其余途径。集群
待续程序