mysql的设计架构

mysql的设计架构

ID:28353876

大小:18.49 KB

页数:6页

时间:2018-12-09

mysql的设计架构_第1页
mysql的设计架构_第2页
mysql的设计架构_第3页
mysql的设计架构_第4页
mysql的设计架构_第5页
资源描述:

《mysql的设计架构》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、学生会的老师就像这个大家庭里的家长,他(她)们慈爱而又严厉,老师们教会我们做人,教会我们学习,教会我们工作。老师对我们的关心与疼爱我们始终看在眼里,记在心里MySQL的设计架构  对于初学者可能MySQL是设计框架不是很了解,而其实在了解内存结构等。下面小编就为大家分享下MySQL的设计架构,一起来看一下吧。  在使用Impala这种所谓大数据引擎的时候,总会感觉有些地方设计的不是那么尽善尽美,比如说缓存,Impala的查询结果是没有经过缓存的,也就是说每次都相当于需要重新对文件执行一遍查询。  MySQL基本架构如下图,是

2、MySQL的逻辑架构图:  最上层的服务并不是MySQL所独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构,比如连接处理、授权认证、安全等等。  第二层架构是MySQL比较有意思的部分大多数MySQL的核心服务功能都在这一层。包括查询解析、分析、优化、缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。  第三层包含了存储引擎。存储引擎负责MySQL中数据的存储和提取。和GNU/Linux下的各种文件系统一样,每个存储引擎都有它的优势和劣势。服务器通过API与存储引擎进行通

3、信。这些接口屏蔽了不同存储引擎之间的差异。  下面挑几个模块解释一下:  1.解析器时间如白驹过隙,弹指间,我已在学生会工作了一年。这其中有酸有甜有苦也有辣,然而这就是生活,过于平淡倒显得无味,酸甜苦辣俱全方能体现出人生的多彩,方能值得回味,方能使人进步!学生会的老师就像这个大家庭里的家长,他(她)们慈爱而又严厉,老师们教会我们做人,教会我们学习,教会我们工作。老师对我们的关心与疼爱我们始终看在眼里,记在心里  SQL命令传递到解析器的时候会被解析器验证和解析。解析器是由Lex和YACC实现的,是一个很长的脚本。  主要功能

4、:  将SQL语句分解成数据结构,并将这个结构传递到后续步骤,以后SQL语句的传递和处理就是基于这个结构的  如果在分解构成中遇到错误,那么就说明这个sql语句是不合理的  2.优化器  SQL语句在查询之前会使用查询优化器对查询进行优化。他使用的是“选取-投影-联接”策略进行查询。  用一个例子就可以理解:selectuid,namefromuserwheregender=1;  这个select查询先根据where语句进行选取,而不是先将表全部查询出来以后再进行gender过滤  这个select查询先根据uid和nam

5、e进行属性投影,而不是将属性全部取出以后再进行过滤  将这两个查询条件联接起来生成最终查询结果。  3.缓存  如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。  这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等。时间如白驹过隙,弹指间,我已在学生会工作了一年。这其中有酸有甜有苦也有辣,然而这就是生活,过于平淡倒显得无味,酸甜苦辣俱全方能体现出人生的多彩,方能值得回味,方能使人进步!学生会的老师就像这个大家庭里的家长,他(她)们慈爱而又严厉,老师们教会我们做人,教会我们学习

6、,教会我们工作。老师对我们的关心与疼爱我们始终看在眼里,记在心里  补充知识  1.查询优化和执行(OptimizationandExecution)  MySQL将用户的查询语句进行解析,并创建一个内部的数据结构——分析树,然后进行各种优化,例如重写查询、选择读取表的顺序,以及使用哪个索引等。  查询优化器不关心一个表所使用的存储引擎,但是存储引擎会影响服务器如何优化查询。优化器通过存储引擎获取一些参数、某个操作的执行代价、以及统计信息等。在解析查询之前,服务器会先访问查询缓存(querycache)——它存储SELECT

7、语句以及相应的查询结果集。如果某个查询结果已经位于缓存中,服务器就不会再对查询进行解析、优化、以及执行。它仅仅将缓存中的结果返回给用户即可,这将大大提高系统的性能。  2.并发控制(锁粒度)  MySQL提供两个级别的并发控制:服务器级(theserverlevel)和存储引擎级(thestorageenginelevel)。加锁是实现并发控制的基本方法,MySQL中锁的粒度:  表级锁:MySQL独立于存储引擎提供表锁,例如,对于ALTERTABLE语句,服务器提供表锁(table-levellock)。  行级锁:Inn

8、oDB和Falcon存储引擎提供行级锁,此外,BDB支持页级锁。InnoDB的并发控制机制,下节详细讨论。时间如白驹过隙,弹指间,我已在学生会工作了一年。这其中有酸有甜有苦也有辣,然而这就是生活,过于平淡倒显得无味,酸甜苦辣俱全方能体现出人生的多彩,方能值得回味,方能使人进步!学生会的老师

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。