数据库事务是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。
事务拥有以下的4个特性,习惯上被称为ACID特性。
- **原子性(Atomicity):**事务作为一个整体被执行,包含在其中的对数据库的操作要么全被执行要么不执行。
- 一致性(Consitency): 执行事务前的状态应该是一致的,且事务执行后也应该是一致的。即中间过渡的状态是对外不可见的。
- 隔离性(Isolation): 数据库事务之间尽管可能并行发生。但是事务不会感应到这种并发状态,即在事务A与事务B并发时:对与事务A而言,这次事务可能是在事务B还未发生前执行,或者是在事务B发生后执行的。
- 持久性(Durability): 一个事务成功完成后,它对数据库的改变必须是持久的,即使出现系统故障。
分布式事务及其相关理论:
CAP定理:
-
Consistency 一致性
-
Availability 可用性
-
Partition tolerance 分区容错
这三个指标不能同时做到称为CAP定理。
分区容错 Partition tolerance
大多数分布式系统都分布在多个子网络。