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()系统调用的支持
14.2.1 MySQL and the ACID Model的更多相关文章
- 14.2 InnoDB and the ACID Model
14.2 InnoDB and the ACID Model ACID 模型是一组数据库设计原则,强调可靠性方面对于商业数据和关键人物. MySQL 包含组件比如InnoDB存储引擎坚持ACID 模型 ...
- 跟着百度学PHP[14]-PDO之Mysql的事务处理2
前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...
- 【原创】Mysql中事务ACID实现原理
引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?" 你:"懂,ACID嘛,原子性(Atomicity).一致性(Consistency).隔离性(Isol ...
- Mysql中事务ACID实现原理
引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?"你:"懂,ACID嘛,原子性(Atomicity).一致性(Consistency).隔离性(Isola ...
- 【转】Mysql中事务ACID实现原理
转自:https://www.cnblogs.com/rjzheng/p/10841031.html 作者:孤独烟 引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?" ...
- ubuntu 14.04 安装mysql server初级教程
序,mysql数据库是开源的,被大多数企业所使用 目录 一.apt-get install 软件安装原理剖析二.安装mysql server三.配置和管理msyql 一.apt-get install ...
- 深入学习MySQL事务:ACID特性的实现原理
事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段.本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理. MySQL博大精深,文 ...
- 搞懂MySQL InnoDB事务ACID实现原理
前言 说到数据库事务,想到的就是要么都做修改,要么都不做.或者是ACID的概念.其实事务的本质就是锁和并发和重做日志的结合体.那么,这一篇主要讲一下InnoDB中的事务到底是如何实现ACID的. 原子 ...
- MySQL事务及ACID特性
一.事物 1.定义:事务是访问和更新数据库的程序执行单元,事务中包含一条或者多条SQL语句,这些语句要么全部执行成功,要么都不执行. 在MySQL中,事务支持是在引擎层实现的,MySQL是一个支持多引 ...
随机推荐
- ASP.NET MVC 5 学习教程:修改视图和布局页
原文 ASP.NET MVC 5 学习教程:修改视图和布局页 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...
- oschina 开发工具
开发工具 29反编译工具 26持续集成系统 19SQL注入工具 139Git开源工具 138Java开发工具 43.NET开发工具 85PHP开发工具 96C/C++开发工具 70Ruby/Rails ...
- HDU 4739 求正方形个数
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11711707 求所有可能围成的正方形,借个代码 #include <que ...
- android的animator
3.0 以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这 ...
- GridView控件-01-[简单的数据显示]
GridView绑定数据分为两种,一种是多值绑定,另一种是字段绑定. 多值绑定(直接绑定到数据源就行,不需要使用字段): 前台代码: <asp:GridView ID="GridVie ...
- BZOJ 1196: [HNOI2006]公路修建问题( MST )
水题... 容易发现花费最大最小即是求 MST 将每条边拆成一级 , 二级两条 , 然后跑 MST . 跑 MST 时 , 要先加 k 条一级road , 保证满足题意 , 然后再跑普通的 MST . ...
- 1688: [Usaco2005 Open]Disease Manangement 疾病管理( 枚举 )
我一开始写了个状压dp..然后没有滚动就MLE了... 其实这道题直接暴力就行了... 2^15枚举每个状态, 然后检查每头牛是否能被选中, 这样是O( 2^15*1000 ), 也是和dp一样的时间 ...
- java--继承的一些笔记
public class Person { public void display(){ System.out.println("Play Person..."); } stati ...
- IntelliJ IDEA导出Java 可执行Jar包
原文:IntelliJ IDEA导出Java 可执行Jar包 保证自己的Java代码是没有问题的,在IDEA里面是可以正常运行的,然后,按下面步骤: 打开File -> Project Stru ...
- Python 文本解析器
Python 文本解析器 一.课程介绍 本课程讲解一个使用 Python 来解析纯文本生成一个 HTML 页面的小程序. 二.相关技术 Python:一种面向对象.解释型计算机程序设计语言,用它可以做 ...