网站运营工作具体做啥,wordpress windows 权限,传统营销方式有哪些,重庆建设工程证照查询网站目录 事务的四大特性#xff0c;即ACID特性#xff0c;是数据库管理的基石。
原子性#xff08;Atomicity#xff09; 定义#xff1a;事务作为一个整体被执行#xff0c;其内部的操作要么全部完成#xff0c;要么全部不完成。如果事务中的任何一部分失败#xff0c;那… 目录 事务的四大特性即ACID特性是数据库管理的基石。
原子性Atomicity 定义事务作为一个整体被执行其内部的操作要么全部完成要么全部不完成。如果事务中的任何一部分失败那么整个事务就会失败之前所做的所有更改都会被回滚以保持数据库的一致性。实现通过回滚日志Undo Log来实现。在事务执行过程中每当对数据库进行修改操数据库引擎改会在回滚日志中记录下这次修改的反向操作即Undo信息。例如如果一个UPDATE操作将某字段从A改为了B回滚日志会记录将该字段从B改回A的指令。 提交如果事务成功执行完毕并提交事务管理器会检查是否所有预写日志已写入磁盘然后清理相关的回滚日志或者等待垃圾回收机制清理。回滚如果事务遇到错误需要回滚或者调用了ROLLBACK语句事务管理器会依据回滚日志执行反向操作撤销所有已做的修改直至事务回到初始状态。这一步确保了事务的原子性。 一致性Consistency 定义事务执行前后数据库应保持合法的状态即满足所有的业务规则。即使在多个事务并发执行的情况下每个事务也必须从一个一致性的状态转换到另一个一致性的状态。实现通过其他三个事务的特性及一些约束规则实现。理解起来有些抽象简单来说就是不能有幻读、脏读、不可重复读等问题。 例如A仓库B仓库共有100件货物A仓库向B仓库发10件货物他们的总数应该时不变的这就要求数据库对还在路上的10件货物做处理保证不能出现A仓库少10件B仓库没有收到货物的情况。 隔离性Isolation 定义多个事务并发执行时彼此的行为应该是独立的一个事务不应该看到其他事务未提交的数据变更以避免脏读、不可重复读和幻读等问题。实现通过各种隔离级别来控制。数据库系统提供了多种隔离级别如读未提交Read Uncommitted、读已提交Read Committed、可重复读Repeatable Read和串行化Serializable每种级别通过不同的锁定机制和并发控制算法实现不同程度的隔离效果。例如使用MVCC多版本并发控制来实现可重复读的隔离级别。 具体请看经典面试题什么是事务的隔离级别什么是MVCC 持久性Durability 定义一旦事务提交它对数据库的修改就是永久的即使发生系统崩溃或电源故障这些更改也不会丢失。实现通过重做日志Redo Log来实现。事务提交时相关改动首先被记录到重做日志中然后才被实际应用到数据库中。在系统恢复时可以根据重做日志将未持久化的数据重新写入数据库从而确保事务的持久性。此外还会定期将内存中的数据刷写到磁盘上确保数据的安全性。