MySQL之介绍-2 模块组成

  1,初始化模块  就是在 MySQL Server 启动的时候,对整个系统做各种各样的初始化操作,比如各种 buffer,cache 结构的初始化和内存空间的申请,各种系统变量的初始
化设定,各种存储引擎的初始化设置


  2,核心 API  主要是为了提供一些需要非常高效的底层操作功能的优化实现,包括各种底层数据结构的实现,特殊算法的实现,字符串处理,数字处理等,小文件 I/O,格式化输出,以及最重要的内存管理部分。代码都集中在 mysys 和 strings文件夹下面


  3,网络交互模块  实现底层网络数据的接收与发送,以方便其他各个模块调用,以及对这一部分的维护,所有源码都在 vio 文件夹下面


  4,Client  &  Server 交互协议模块  实现了客户端与 MySQL 交互过程中的所有协议。当然这些协议都是建立在现有的 OS 和网络协议之上的,如 TCP/IP 以及 Unix Socket。


  5,用户模块  主要包括用户的登录连接权限控制和用户的授权管理。


  6,访问控制模块  是根据用户模块中各用户的授权信息,以及数据库自身特有的各种约束,来控制用户对数据的访问。用户模块和访问控制模块两者结合起来,组成了 MySQL 整个数据库系统的权限安全管理的功能。


  7, 连接管理、连接线程和线程管理   连接管理模块负责监听对 MySQL Server 的各种请求,接收连接请求,转发所有连接请求到线程管理模块。每一个连接上 MySQL Server 的客户端请求都会被分配(或创建)一个连接线程为其单独服务。而连接线程的主要工作就是负责 MySQL  Server 与客户端的通信,接受客户端的命令请求,传递 Server 端的结果信息等。线程管理模块则负责管理维护这些连接线程。包括线程的创建,线程的 cache 等。


  8,Query 解析和转发模块  将 query 语句进行语义和语法的分析,然后按照不同的操作类型进行分类,然后做出针对性的转发。


  9,Query  Cache 模块  Query  Cache 模块在 MySQL 中是一个非常重要的模块,他的主要功能是将客户端提交给MySQL 的 Select 类 query 请求的返回结果集 cache 到内存中,与该 query 的一个 hash 值做一个对应。


  10,  Query 优化器模块  就是优化客户端请求的 query,根据客户端请求的 query 语句,和数据库中的一些统计信息,在一系列算法的基础上进行分析,得出一个最优的策略,告诉后面的程序如何取得这个 query 语句的结果。


  11, 表变更管理模块  表变更管理模块主要是负责完成一些 DML 和 DDL 的 query。


  12, 表维护模块  表的状态检查,错误修复,以及优化和分析等工作都是表维护模块需要做的事情。


  13, 系统状态管理模块  系统状态管理模块负责在客户端请求系统状态的时候,将各种状态数据返回给用户。


  14, 表管理器   是维护.frm文件,以及一个 cache,该 cache 中的主要内容是各个表的结构信息。此外它还维护 table 级别的锁管理。


  15, 日志记录模块  日志记录模块主要负责整个系统级别的逻辑层的日志的记录。


  16, 复制模块   复制模块又可分为 Master 模块和 Slave 模块两部分, Master 模块主要负责在Replication 环境中读取 Master 端的 binary 日志,以及与 Slave 端的 I/O 线程交互等工作 。Slave 模块比 Master 模块所要做的事情稍多一些,在系统中主要体现在两个线程上面。一个是负责从 Master 请求和接受 binary 日志,并写入本地 relay  log 中的 I/O 线程。另外一个是负责从 relay log 中读取相关日志事件,然后解析成可以在 Slave 端正确执行并得到和Master 端完全相同的结果的命令并再交给 Slave 执行的 SQL 线程。


  17, 存储引擎接口模块  实际上只是一个抽象类,但正是因为它成功地将各种数据处理高度抽象化,才成就了今天 MySQL 可插拔存储引擎的特色。


图片展示:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值