新手学做网站的书,百度提交收录,wordpress采集小说的主题,wordpress文章添加版权一、ACID简介
ACID#xff0c;是指数据库管理系统#xff08;DBMS#xff09;在增删改数据的的过程中#xff0c;为保证事务#xff08;transaction#xff09;的准确性#xff0c;可靠性等#xff0c;所必须具备的四个特性#xff1a;原子性#xff08;atomicity是指数据库管理系统DBMS在增删改数据的的过程中为保证事务transaction的准确性可靠性等所必须具备的四个特性原子性atomicity或称不可分割性、一致性consistency、隔离性isolation又称独立性、持久性durability。
事务transaction 由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐从原账户扣除金额以及向目标账户添加金额这两个数据库操作的总和构成一个完整的逻辑过程不可拆分。这个过程被称为一个事务并具有ACID特性。
二、四大特性详解
原子性atomicity一个事务transaction中的所有操作要么全部完成要么全部不完成不会结束在中间某个环节。事务在执行过程中发生错误会被回滚Rollback到事务开始前的状态就像这个事务从来没有执行过一样。一致性consistency一致性关注数据的可见性中间状态的数据对外部不可见只有最初状态和最终状态的数据对外可见。隔离性isolatio数据库在设计之初一般都会考虑事务的并发性不会只让数据库在同一时间只处理一个事务这样效率会很低数据库一般会允许多个并发事务同时对其数据进行读写和修改隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。MYSQL数据库中的事务隔离分为不同级别包括读未提交Read uncommitted、读提交read committed、可重复读repeatable read和串行化Serializable。当事务访问同一资源的时候如果是增删改的操作会对资源进行上锁这些锁要嘛造成死锁涉及的相关事务会失败回滚要嘛是先上锁的事务先完成后续的事务会等前一个事务完成之后再继续执行。如果是读写事务同时访问同一资源这就会涉及到隔离性级别。持久性durability事务提交处理结束后对数据的修改就是永久的即便后续系统故障修改的数据也不会丢失。