事务定义
事务是在数据库上进行的一系列操作的集合,是数据改变不可分割的基本单位;ACID
- 原子性:Atomicity
- 一致性:Consistency
- 隔离性:Isolation
- 持久性:Durability
脏读
- 事物A读到了事物B修改,却并未提交的数据;
- 一个事物中,如果事物B修改了10次,这10次修改过程事物A都可以读到;
不可重复读
- 事物A两次读data之间,事物B访问并修改了data进行了提交;提交的数据事物A可以读到
- 事物A前后两次读由于事物B的修改,导致前后结果不一致,称为不可重复度;
幻读
- 查询数据结果之后,进行插入,但是插入失败,再查询依旧是那些数据记录,依然无法插入; 称为幻读;
在分布式环境下事物的实现方式
TCC--Try Commit Cancel
SAGA
2PC 两阶段提交