14.2 InnoDB and the ACID Model


ACID 模型是一组数据库的设计原则 ,这是重要的对于商业数据和关键任务应用程序 

MySQL 包含组件 比如Innodb存储引擎和ACID 模型紧密结合 

这样数据不会被破坏,结果不会被异常情况所失真,比如硬件和软件故障

当你依赖于符合ACID的特性时,你不需要重新发明一致性检查和崩溃恢复机制 

下面各节讨论mysql特性,特别是InnoDB存储引擎,如何与ACID 模型

A: atomicity.

C: consistency.

I:: isolation.

D: durability.

Atomicity 原子性

ACID 模型的原子性方面主要涉及InnoDB事务。

Autocommit setting.

COMMIT statement.

ROLLBACK statement.


Consistency

ACID 模型的一致性 主要涉及Innodb 处理来防止crash ,相关的mysql功能包括:

InnoDB doublewrite buffer.


InnoDB crash recovery.


Isolation 隔离 

ACID 模型的隔离方面主要涉及InnoDB事务,特别是应用于每个事务的隔离级别:

Autocommit setting.

SET ISOLATION LEVEL statement.

Durability 耐久性 

ACID 模型的持久性方面涉及MySQL 软件功和特定的硬件配置有关系 

InnoDB doublewrite buffer 开启和关闭通过 innodb_doublewrite 配置选项

Configuration option innodb_flush_log_at_trx_commit.

Configuration option sync_binlog.

Configuration option innodb_file_per_table.