InnoDB存储引擎和ACID模型

ACID模型
  • A :atomicity 原子性
  • C :consistency 一致性
  • I :isolation 隔离性
  • D :durability 持久性
原子性

一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚。

  1. 原子性主要涉及事务
  2. 自动提交设置(SHOW variables like ‘%autocommit%’;)
  3. COMMIT 声明
  4. ROLLBACK声明
  5. INFORMATION_SCHEMA表中的 操作数据
一致性

数据库总是从一个一致性的状态转移到另外一个一致性的状态。

  1. 一致性主要时防止数据崩溃,数据恢复
  2. InnoDB doublewriter缓冲区
  3. InnoDB崩溃恢复
隔离

通常来说,一个事务所做的修改在最终提交之前,对其他事务是不可见的。(隔离级别不同,可见性也不一样)

  1. 隔离主要涉及事务,事务中的隔离级别
  2. 自动提交设置
  3. SET ISOLATION LEVEL声明
  4. InnoDB锁的底层细节
持久性

一旦事务提交,则其所做的修改就会永久的保存到数据库中。

  1. 持久性主要涉及硬件存储方面
  2. doublewriter缓冲区
  3. 配置选项 innodb_flush_log_at_trx_commit
  4. 配置选项 sync_binlog
  5. 配置选项 innodb_file_per_table
  6. 存储设备(例如磁盘驱动器,SSD或RAID阵列)中的写缓冲区
  7. 存储设备中由电池支持的缓存
  8. 用来运行MySQL的操作系统,特别是它对fsync()系统调用的支持
  9. 不间断电源(UPS)保护运行MySQL服务器并存储MySQL数据的所有计算机服务器和存储设备的电源
  10. 备份策略,例如备份的频率和类型以及备份保留期
  11. 对于分布式或托管数据应用程序,MySQL服务器的硬件所位于的数据中心的特定特性,以及数据中心之间的网络连接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值