MySQL数据库和ACID模型

ACID模型是一组强调高可靠性的数据库系统设计原则。InnoDB存储引擎坚持ACID原则,确保即便在软件崩溃甚至是硬件故障的状况下,数据也不会损坏。当你须要依赖兼容ACID原则的业务时,你没必要重复造轮子去实现一致性检查和崩溃恢复机制。在一些状况下,若是你有额外的安全保证机制,可靠的硬件条件,或者应用可以容忍少许的数据丢失和不一致,你能够调整MYSQL设置,牺牲掉ACID的一些可靠性换取更高的性能和数据吞吐量。数据库

ACID原则

  • A: atomicity (原子性)
  • C: consistency (一致性)
  • I: isolation (隔离性)
  • D: durability (持久性)

Atomicity(原子性)

原子性主要涉及到InnoDB事务。相关的MYSQL特征包括:安全

Autocommit COMMIT语句 ROLLBACK语句网络

Consistency(一致性)

一致性主要涉及到InnoDB内部软件崩溃时的数据保护恢复机器。相关的MYSQL特征包括:分布式

  • InnoDB双写缓冲
  • InnoDB崩溃恢复

Isolation(隔离性)

隔离性主要涉及到InnoDB具体事务的隔离级别。相关的MYSQL特征包括:性能

Autocommit SET ISOLATION LEVEL语句 InnoDB锁的低层细节。在性能调优时,你能够经过INFORMATION_SCHEMA表看到这些细节atom

Durability(持久性)

持久性主要涉及MySQL软件特征与你实际硬件配置的相互做用。这个特性更多的取决于你的CPU,网络,和存储设备的能力。相关的MYSQL特征包括:操作系统

  • innodb_doublewrite
  • innodb_flush_log_at_trx_commit
  • sync_binlog
  • innodb_file_per_table
  • 磁盘驱动
  • 操做系统是否支持fsync()系统调用
  • 备份策略
  • 分布式
相关文章
相关标签/搜索