14.2.1 MySQL and the ACID Model

14.2 InnoDB Concepts and Architecture   InnoDB 概念和结构体系:

14.2.1 MySQL and the ACID Model
14.2.2 InnoDB Multi-Versioning
14.2.3 InnoDB Redo Log
14.2.4 InnoDB Undo Logs
14.2.5 InnoDB Table and Index Structures
14.2.6 InnoDB Mutex and Read/Write Lock Implementation 本节中的信息提供了背景帮助你得到最多的歌功能和性能 在使用InnoDB表, 它的目的是: 1. 任何从其他数据库转到MySQL的, 解释那些事情可能看起来类似的 和 哪些是全新的: 2. 任何从MyISAM 表到InnoDB, InnoDB 是默认的存储引擎 3. 任何考虑它们的应用结构或者软件栈, 了解设计思路,性能特点,在细节上InnoDB表的可扩展性 在这个章节: 1.InnoDB 如何支持ACID 原则 2.多版本控制(MVCC) 让事务 从查看或者修改相互的数据在适当的时间 3.InnoDB的物理结构 ,比如表,indexes,tablespaces,undo logs,和redo log. 14.2.1 MySQL and the ACID Model MySQL和ACID 模型 ACID 模型是一组数据库设计原则,强调可靠性的方面对于关系型数据和关键任务应用的重要性 MySQL 包含的组件比如InnoDB 存储引擎紧紧追随ACID 事务模型, 使数据不会冲突,结果是不会曲解 在特别的条件 比如软件crash和硬件的故障。 当你依赖于 ACID一致性功能,你不需要重新发明*来实现一致性检查和crash recovery 机制。 如果你有额外的软件保障,超可靠的硬件,或者一个应用可以容忍很小的数据丢失或者恶补一致性, 你可以调整MySQL设置来交换一些 ACID 可靠性来得到更好的性能。 下面的章节描述MySQL的特点, 特别是InnoDB 存储引擎,与ACID 模型的互动: A: 自动的 C: 一致性 I: 隔离 D: 持久性 Atomicity ACID 模型的atomicity 方面主要涉及InnoDB事务, 依赖的MySQL 功能包括: 1.自动提交设置 2.COMMIT 语句 3.ROLLBACK 语句 4.操作INFORMATION_SCHEMA 表的数据 一致性: ACID 事务的一致性方面主要涉及内部的InnoDB处理来保护数据在crash时,相关的功能包括: InnoDB doublewrite buffer. InnoDB crash recovery. 隔离: ACID 模型的隔离方面主要涉及InnnoDB 事务, 特别的 隔离级别应用于每个事务。 相关的MySQL 功能包括: 1.自动提交设置: 2.设置隔离级别语句: 3. InnoDB 锁定 行锁细节, 在性能调优,你可以查看INFORMATION_SCHEMA tables的细节。 持久性: ACID 模型的持久性方面涉及MySQL 软件功能与特定的硬件配置有关。 因为 许多可能的依靠你的CPU,网络和存储设备的能力, 这方面是最复杂的来提供具体的指导方针 InnoDB doublewrite buffer, 打开和关闭 innodb_doublewrite 配置选项; 1.配置选项 innodb_flush_log_at_trx_commit. 2.配置选项 sync_binlog. 3.配置选项 innodb_file_per_table. 4.buffer 在一个存储设备,比如disk drive,SSD,或者RAID 阵列 5.电池高速缓存 6.操作系统用于运行MySQL,特别对于fsync()系统调用的支持
上一篇:学习mongo系列(一) win/mac安装 解析 连接


下一篇:[技术翻译]Guava官方文档Ordering