文档详情

MySQL存储引擎介绍.ppt

发布:2017-05-29约字共34页下载文档
文本预览下载声明
/art/201012/236150.htm 两次写 Doublewrite:内存doublewrite Buffer(2M)和物理磁盘上共享表空间(连续页) 三、InnoDB存储引擎——关键特性 MVCC(多版本并发控制) 基本原理:在事务中保存数据的快照,这意味着在一个事务里能够看到数据一致的视图,而不用担心这个事务运行多长时间,同时也意味着在同一个时刻不同事务看到的相同表里的数据可能是不同的。 基本特征:每行数据都存在一个版本,每次数据更新时都更新该版本,修改时Copy出当前版本随意修改,各事务之间无干扰,保存时比较版本号,如果成功(commit),则覆盖原记录;失败则放弃copy(rollback) 三、InnoDB存储引擎——关键特性 一致性非锁定读 指innodb通过行多版本控制技术的方式来读取数据库中的数据,如果读取的数据正在进行删除或者更新,这时读取操作不会因此等待行上的锁释放,而会去读取行的一个快照(快照指的是该行之前的版本的数据),快照没有额外的开销且读取快照不需要加锁 大大提高了数据读取的并发性,在innodb中,只是默认的方式,即读取不会占用和等待表上的锁 在事务不同的隔离级别下,读取方式还是有所不同的,并不是每一个隔离级别下读取都是一致性的读 三、InnoDB存储引擎——关键特性 QA Thanks? Email: mengxl@ Popo : frankie_meng@ Msn : mengxiangl@ 默认使用余数式hash算法: server = serverlist[hash(key) % serverlist的个数] 这样明显有一个缺点:当服务器的个数变化时,所有的hash都将无效,全部得重来一次 RAC is share-everything. That is, any nodes CPUs, memory, storage can be used by another node. Thats my understanding. SQL Server, on the other hand, is share-nothing; each node has its own hardware resource. /sjjm/201112143.asp MySQL存储引擎介绍 mengxl 2011-12-21 MySQL体系结构 MySQL存储引擎 InnoDB存储引擎 主要内容 一个由多个子系统构成的层次化系统 一、MySQL体系结构 Connectors:用来与客户端应用程序建立连接的数据库接口 Management Services Utilities:系统管理和服务控制相关的辅助工具 Connection Pool:负责处理与用户访问有关的各种用户登录、线程处理、内存和进程缓存需求 Sql Interface:提供从用户接受命令并把结果返回给用户的机制 Parser:对SQL语句进行语法分析和解析,构造一个月来执行查询的数据结构 Optimizer:优化查询语句,以保证数据检索动作的效率达到或者非常接近最最优。使用一种“选取-投影-联结”策略来处理查询,即先根据有关的限制条件进行选取(Select 操作)以减少将要处理的元组个数,再进行投影以减少被选取元组力的属性字段的个数,最后根据连接条件生产最终的查询结果 一、MySQL体系结构 Caches Buffers:保证使用频率最高的数据或结构能够以最有效率的方式被访问,缓存的类型有:表缓存、记录缓存、键缓存、权限缓存、主机名缓存等。 一、MySQL体系结构 最与众不同的特点是插件式存储引擎 插件式表存储引擎是底层物理结构的实现,负责为数据库执行实际的数据I/O操作,它是基于表而不是数据库的。可以根据实际应用需求为每个表设定不同的选择。 插件式存储引擎的核心是文件访问层的一个抽象接口,任何人都可以利用这个API接口去建立新的文件访问机制 一、MySQL体系结构 技术关键点 InnoDB MyISAM NDB Memory Archive Maria 其他 综合比较 二、MySQL存储引擎介绍 并发性:锁粒度 事务支持:ACID 引用完整性:外键支持 物理存储:表与索引等文件格式 索引支持:索引策略与方法 内存高速缓冲:缓存和缓冲区策略 其他目标特性:安全限制等 二、MySQL存储引擎介绍——关键技术 支持事务 行锁设计,提供并发性,同时支持MVCC MVCC——多版本并发控制 支持外键,以确保数据完整性 独立的ibd文件存储表结构和数据 其他特性:插入缓冲、二次写、自适应哈希索引、预读等高性能和高可用功能 适用场合:强调可靠性和需要支持事务处理 二、MySQL存储引擎介绍——Inno
显示全部
相似文档