Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

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

17.2 InnoDB 和 ACID 模型

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

以下部分讨论 MySQL 功能,特别是 InnoDB 存储引擎如何与 ACID 模型的类别交互:

  • A:原子性。

  • C:一致性。

  • I::隔离。

  • D:持久性。

原子性

ACID 模型的 原子性 方面主要涉及 InnoDB 事务。相关的 MySQL 功能包括:

一致性

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

隔离

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

持久性

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

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

  • innodb_flush_log_at_trx_commit 变量。

  • sync_binlog 变量。

  • innodb_file_per_table 变量。

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

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

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

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

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

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