Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  The InnoDB Storage Engine  /  InnoDB and the ACID Model

17.2 InnoDB 和 ACID 模型

ACID 模型是一组数据库设计原则,强调业务数据和mission-critical 应用程序的可靠性方面。MySQL 包含了如 InnoDB 存储引擎等组件,它们紧密地遵循 ACID 模型,以确保数据不被损坏和结果不被异常条件(例如软件崩溃和硬件故障)所扭曲。当您依赖于 ACID 兼容的特性时,您不需要重新实现一致性检查和崩溃恢复机制。在某些情况下,您可以根据需要调整 MySQL 设置,以在性能或吞吐量方面进行一些权衡,牺牲一些 ACID 可靠性。

以下部分讨论了 MySQL 特性(特别是 InnoDB 存储引擎)如何与 ACID 模型的各个类别相互作用:

  • A: 原子性。

  • C: 一致性。

  • I: 隔离性。

  • D: 持久性。

ACID 模型的 原子性 主要涉及到 InnoDB事务。相关 MySQL 特性包括:

ACID 模型的一致性方面主要涉及到内部 InnoDB 处理,以保护数据免受崩溃的影响。相关 MySQL 功能包括:

ACID 模型的隔离性方面主要涉及到 InnoDB 事务,特别是每个事务的隔离级别。相关 MySQL 功能包括:

持久性 是 ACID 模型的一部分,涉及 MySQL 软件特性与您的硬件配置的交互。由于 CPU、网络和存储设备的多种可能性,这一方面最难提供具体指南。(这些指南可能以“购买新硬件”形式出现。)相关的 MySQL 特性包括:

  • InnoDB 双写缓冲区。见第17.6.4节,“Doublewrite Buffer”

  • innodb_flush_log_at_trx_commit 变量。

  • sync_binlog 变量。

  • 《innodb_文件_per_表》变量。

  • 存储设备(如磁盘驱动器、SSD或RAID阵列)的写缓冲区。

  • 存储设备中的电池备份缓存。

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

  • 保护所有计算机服务器和存储设备供电的无中断电源(UPS)。

  • 您的备份策略,如备份频率、备份类型和备份保留期限。

  • 对于分布式或托管数据应用程序,MySQL 服务器硬件所在数据中心的特定特征,以及数据中心之间的网络连接。