文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  InnoDB 存储引擎  /  InnoDB 和 ACID 模型

17.2 InnoDB 和 ACID 模型

ACID 模型是一组数据库设计原则,强调了对业务数据和关键任务应用程序至关重要的可靠性方面。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 节,“双写缓冲”

  • innodb_flush_log_at_trx_commit 变量。

  • sync_binlog 变量。

  • innodb_file_per_table 变量。

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

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

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

  • 不间断电源 (UPS),用于保护运行 MySQL 服务器和存储 MySQL 数据的所有计算机服务器和存储设备的电力供应。

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

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