千家信息网

MySQL的ACID模式

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,InnoDB引擎遵循ACID原则,ACID主要指:? A: atomicity. 原子性? C: consistency 一致性? I: isolation. 隔离性? D: durability.
千家信息网最后更新 2024年11月24日MySQL的ACID模式

InnoDB引擎遵循ACID原则,ACID主要指:

? A: atomicity. 原子性

? C: consistency 一致性

? I: isolation. 隔离性

? D: durability. 持久性

Atomicity 原子性

ACID原则中的原子性主要涉及InnoDB transactions,主要MySQL以下功能相关

? Autocommit setting. 自动提交设置

? COMMIT statement. Commit语句

? ROLLBACK statement. Rollback语句

? Operational data from the INFORMATION_SCHEMAtables. INFORMATION_SCHEMA表操作数据

Consistency 一致性

ACID原则中的一致性主要包括innodb内部对crash情况下数据的保护处理,主要MySQL以下功能相关:

? InnoDB doublewrite buffer. 两次写

? InnoDB crash recovery. 实例恢复

Isolation 隔离性

ACID原则中的隔离性主要包括InnoDB transactions,尤其是事务隔离级别,主要MySQL以下功能相关:

? Autocommit setting. 自动提交设置

? SET ISOLATION LEVEL statement. 设置事务隔离级别(四种:RURCRRSERIALIZABLE

? The low-level details of InnoDB locking. During performance tuning, you see these details through
INFORMATION_SCHEMA tables. Innodb锁的底层细节,通过INFORMATION_SCHEMA下相关表获得性能相关细节

Durability 持久性

ACID原则中的持久性主要包括MySQL运行相关的硬件配置。因为取决于你的CPU、网络和存储等,这方面是复杂的。

主要MySQL以下功能相关:

? InnoDB doublewrite buffer 通过innodb_doublewrite选项开启或关闭

? innodb_flush_log_at_trx_commit 刷新redo log的机制

? sync_binlog. 刷新binlog的机制

? innodb_file_per_table. Innodb 表是单个文件存放

?存储设备的写缓存,如:磁盘驱动器、SSD或者RAID阵列

? 存储设备中电池支持的缓冲

? 运行MySQL的操作系统,特别是对fsync()系统调用的支持

? UPS保护

? 你的备份策略,如备份频率、备份类型以及备份保留时间等

? 分布式架构的数据应用,其数据中心之间的硬件、网络连接等

参考链接:http://dev.mysql.com/doc/refman/5.7/en/mysql-acid.html

0