书签 分享 收藏 举报 版权申诉 / 34
上传文档赚钱

类型MySQL存储引擎介绍课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4569304
  • 上传时间:2022-12-20
  • 格式:PPT
  • 页数:34
  • 大小:720KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《MySQL存储引擎介绍课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    MySQL 存储 引擎 介绍 课件
    资源描述:

    1、 一个由多个子系统构成的层次化系统 Connectors:用来与客户端应用程序建立连接的数据库接口 Management Services&Utilities:系统管理和服务控制相关的辅助工具 Connection Pool:负责处理与用户访问有关的各种用户登录、线程处理、内存和进程缓存需求 Sql Interface:提供从用户接受命令并把结果返回给用户的机制Parser:对SQL语句进行语法分析和解析,构造一个月来执行查询的数据结构 Optimizer:优化查询语句,以保证数据检索动作的效率达到或者非常接近最最优。使用一种“选取-投影-联结”策略来处理查询,即先根据有关的限制条件进行选取(

    2、Select 操作)以减少将要处理的元组个数,再进行投影以减少被选取元组力的属性字段的个数,最后根据连接条件生产最终的查询结果 Caches&Buffers:保证使用频率最高的数据或结构能够以最有效率的方式被访问,缓存的类型有:表缓存、记录缓存、键缓存、权限缓存、主机名缓存等。最与众不同的特点是插件式存储引擎 插件式表存储引擎是底层物理结构的实现,负责为数据库执行实际的数据I/O操作,它是基于表而不是数据库的。可以根据实际应用需求为每个表设定不同的选择。插件式存储引擎的核心是文件访问层的一个抽象接口,任何人都可以利用这个API接口去建立新的文件访问机制 技术关键点 InnoDB MyISAM

    3、NDB Memory Archive Maria 其他 综合比较 并发性:锁粒度 事务支持:ACID 引用完整性:外键支持 物理存储:表与索引等文件格式 索引支持:索引策略与方法 内存高速缓冲:缓存和缓冲区策略 其他目标特性:安全限制等 支持事务 行锁设计,提供并发性,同时支持MVCC MVCC多版本并发控制 支持外键,以确保数据完整性 独立的ibd文件存储表结构和数据 其他特性:插入缓冲、二次写、自适应哈希索引、预读等高性能和高可用功能 适用场合:强调可靠性和需要支持事务处理 名词解释 插入缓冲 二次写 自适应哈希索引 MVCC多版本并发控制 一致性非锁定读 不支持事务 表锁设计 全文索引

    4、存储表由MYD和MYI组成,分别存放数据和索引 使用数据压缩和索引优化 特点:可靠性高、适用范围广、检索速度快 适用场合:强调数据检索速度 Network database,一种集群存储引擎 采用share nothing 集群架构 每个节点都拥有自己的内存和磁盘 特点:数据全部放在内存中,主键查询速度快 增加NDB存储节点,可线性提高性能 Join连接的网络开销大 对RAM需求大 适用场合:冗余、高可用性、负载均衡 MySQL NDB cluster 架构图http:/ 将表中数据存放在内存中 默认使用哈希索引 由一个.frm的扩展名来指明它存储的表定义 特点:服务器重启时,Memory表里

    5、的数据全部丢失 只支持表锁,并发性能差 不支持TEXT和BLOB类型 按照定常方式存储变长字段(varchar)数据 高速度,低延迟,不适合频繁写 适用场合:存储临时数据、数据仓库的纬度表 行锁机制更好的支持多线程多用户并发 更好的支持读写混合语句以及扩展 可选择磁盘存储介质永久保存数据 Shared-nothing和分布式架构保证无单点故障,99.999%可用性 数据自动分布在各个节点,应用开发者无需考虑分区或分片解决方案 支持MEMORY中不支持的变长数据类型(包括BLOB 和 TEXT)目标:提供高速的插入和压缩功能 特点:只支持Insert和Select操作 支持行锁来实现高并发的插入

    6、操作 不支持事务 采用zlib算法压缩存储,压缩比例达1:10 适用场合:存储归档数据,如日志信息 目标:取代原有的MyISAM存储引擎 特点:缓存数据和索引文件 行锁设计 提供MVCC功能 支持事务和非事务安全 Federated Merge CSV Sphinx Infobright 概述及体系架构 master thread 关键特性 由Innobase Oy公司开发(2006被Oracle收购)第一个完整支持ACID事务的MySQL存储引擎 行锁设计 支持MVCC 支持外键 一致性非锁定读 应用广泛:Yahoo、Facebook、Youtube、Flickr、Wow、SecondLif

    7、e 后台线程IO线程、master 线程、锁监控线程、错误监控线程 内存池缓冲池、重做日志缓冲池、额外内存池 内存结构缓冲池:存放各种数据缓存,将数据库文件按页读取,LRU算法维护缓存,定时flush脏页到文件日志缓冲:将重做日志信息先放入这个缓冲区,然后按一定频率将其刷新到重做日志文件额外内存池:对一些数据结构本身信息的内存分配 master thread的线程优先级别最高。组成:主循环(loop)、后台循环(background loop)、刷新循环(flush loop)、暂停循环(suspend loop)。loop循环伪代码:void master_thread()loop:for(

    8、int i=0;i 10;i+)do thing once per second /每1秒操作 sleep 1 second if necessary do things once per ten seconds /每10秒操作background loop:do something goto loop;每1秒操作:日志缓冲刷新到磁盘,即使这个事务还没有提交(总是)。合并插入缓冲(可能)。至多刷新100个InnoDB的缓冲池中的脏页到磁盘(可能)。如果当前没有用户活动,切换到background loop(可能)。伪代码:do log buffer flush to disk if(last_

    9、one_second_ios innodb_max_dirty_pages_pct)do buffer pool flush 100 dirty page if(no user activity)goto backgroud loop 每10秒操作:刷新100个脏页到磁盘(可能)。合并至多5个插入缓冲(总是)。将日志缓冲刷新到磁盘(总是)。删除无用的Undo页(总是)。刷新100个或者10个脏页到磁盘(总是)。产生一个检查点(总是)。伪代码:if(last_ten_second_ios 70%)do buffer pool flush 100 dirty page else do buffer

    10、 pool flush 10 dirty page do fuzzy checkpoint backgroud loop:删除无用的Undo页(总是)。合并20个插入缓冲(总是)。跳回到主循环(可能)。跳转到flush loop(可能)。伪代码:do full purge do merge 20 insert buffer if not idle:goto loopelse:goto flush loop flush loop&suspend_loop:flush loop不断刷新100个页,直到符合条件。如果flush loop无事可做,将会切换到suspend_loop,suspend_l

    11、oop将master thread挂起,等待事件的发生 伪代码:flush loop:do buffer pool flush 100 dirty page if(buf_get_modified_ratio_pct innodb_max_dirty_pages_pct)goto flush loop goto suspend loop suspend loop:suspend_thread()waiting event goto loop;插入缓冲 两次写 自适应哈希索引 一致性非锁定读 MVCC(多版本并发控制)插入缓冲 聚集索引主键、第一个非空的唯一索引、ROWID插入聚集索引是按顺序的

    12、,不需随机读取磁盘 辅助索引索引不唯一数据页按序插入,插入索引需离散访问索引页,效率低 插入缓冲为了提高辅助索引的插入和修改性能先判断是否在缓冲池,如果在,则直接插入索引页,否则将先插入缓冲池,然后定期合并插入索引页 两次写Doublewrite:内存doublewrite Buffer(2M)和物理磁盘上共享表空间(连续页)MVCC(多版本并发控制)基本原理:在事务中保存数据的快照,这意味着在一个事务里能够看到数据一致的视图,而不用担心这个事务运行多长时间,同时也意味着在同一个时刻不同事务看到的相同表里的数据可能是不同的。基本特征:每行数据都存在一个版本,每次数据更新时都更新该版本,修改时C

    13、opy出当前版本随意修改,各事务之间无干扰,保存时比较版本号,如果成功(commit),则覆盖原记录;失败则放弃copy(rollback)一致性非锁定读指innodb通过行多版本控制技术的方式来读取数据库中的数据,如果读取的数据正在进行删除或者更新,这时读取操作不会因此等待行上的锁释放,而会去读取行的一个快照(快照指的是该行之前的版本的数据),快照没有额外的开销且读取快照不需要加锁大大提高了数据读取的并发性,在innodb中,只是默认的方式,即读取不会占用和等待表上的锁在事务不同的隔离级别下,读取方式还是有所不同的,并不是每一个隔离级别下读取都是一致性的读ThanksEmail:Popo:frankie_Msn :

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:MySQL存储引擎介绍课件.ppt
    链接地址:https://www.163wenku.com/p-4569304.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库