多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 概述 **事务(transaction)**一直是简化这些问题的首选机制。事务是应用程序将多个读写操作组合成一个逻辑单元的一种方式。从概念上讲,事务中的所有读写操作被视作单个操作来执行:整个事务要么成功(**提交(commit)**)要么失败(**中止(abort)**,**回滚(rollback)**) ## ACID ### 原子性(Atomicity) ACID原子性的定义特征是:**能够在错误时中止事务,丢弃该事务进行的所有写入变更的能力。**或许**可中止性(abortability)**是更好的术语 ### 一致性(Consistency) ACID一致性的概念是,**对数据的一组特定陈述必须始终成立**。即**不变量(invariants)**。例如,在会计系统中,所有账户整体上必须借贷相抵 ### 隔离性(Isolation) 大多数数据库都会同时被多个客户端访问。如果它们各自读写数据库的不同部分,这是没有问题的,但是如果它们访问相同的数据库记录,则可能会遇到**并发**问题(**竞争条件(race conditions)**) **同时执行的事务是相互隔离的**:它们不能相互冒犯 ### 持久性(Durability) **持久性**是一个承诺,即一旦事务成功完成,即使发生硬件故障或数据库崩溃,写入的任何数据也不会丢失 **完美的持久性是不存在的**:如果所有硬盘和所有备份同时被销毁,那显然没有任何数据库能救得了你