首页 > 数据库技术 > 详细

MySQL体系架构

时间:2019-01-16 17:54:22      阅读:172      评论:0      收藏:0      [点我收藏+]

MySQL体系架构

学习一门数据库系统首先得了解它的架构,明白它的架构原理对于后期的分析问题和性能调优都有很大的帮助,接下来就通过分析架构图来认识它。

数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件可以是frm、myd、myi、ibd等结尾的文件,当使用ndb存储引擎时候,不是os文件,是存放于内存中的文件。

数据库实例:由数据库后台进程/线程以及一个共享内存区组成,共享内存可以被运行的后台进程/线程所共享。

技术分享图片

连接者:不同语言的代码程序和mysql的交互(SQL交互)

1、连接池 管理、缓冲用户的连接,线程处理等需要缓存的需求

2、管理服务和工具组件 系统管理和控制工具,例如备份恢复、Mysql复制、集群等 

3、sql接口 接受用户的SQL命令,并且返回用户需要查询的结果

4、查询解析器 SQL命令传递到解析器的时候会被解析器验证和解析(权限、语法结构) 

5、查询优化器 SQL语句在查询之前会使用查询优化器对查询进行优化

select id,name from user where age = 40; 
a、这个select 查询先根据where 语句进行选取,而不是先将表全部查询出来以后再进行age过滤 
b、这个select查询先根据id和name进行属性投影,而不是将属性全部取出以后再进行过滤 
c、将这两个查询条件联接起来生成最终查询结果

6、缓存 如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据

7、插入式存储引擎 存储引擎说白了就是如何管理操作数据(存储数据、如何更新、查询数据等)的一种方法。因为在关系数据库 中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)

说明: 

在Oracle 和SQL Server等数据库中,所有数据存储管理机制都是一样的。而MySql数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎。

甚至一个库中不同的表使用不同的存储引擎,这些都是允许的。

 

MySQL体系架构

原文:https://www.cnblogs.com/jkin/p/10278284.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!