聊聊MySQL:总览
Posted 闲庭细步
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊MySQL:总览相关的知识,希望对你有一定的参考价值。
工作中一直接触和使用mysql,但从未认真总结、分析过这个数据库软件。最近想仔细地聊聊它,并横向对比一下和它类似的几款数据库产品。
那么,从何说起呢? 我们首先看一下它的架构,然后分别解释一下各部分如何工作的。先上架构图:
由上图可以看出,mysql由连接器(connector)、管理服务和工具集(Management Service & Utillities)、sql接口(SQL interface)、解析器(Parse)、优化器(Optimizer)、缓存和缓冲区(Caches & Buffers)、插件式存储引擎的内存、索引、存储管理功能(Pluggable Storage Engines Memory, Index & Storge Management)、文件系统(File system)、文件和日志(Files & Logs)组成。连接器适配了不同的语言,使下层的服务透明化。管理服务和工具集提供一些基础服务比如备份、恢复、安全、同步复制、集群、管理、配置、迁移和元数据等功能,SQL接口主要提供sql语言定义、存储过程、视图、触发器等mysql功能单元的定义,解析器负责解析上层传入的查询事务和对象权限管理,优化器负责优化指令,可能变更sql的执行顺序,缓存和缓冲区负责管理全局和存储引擎中的缓存、缓冲区,存储引擎负责管理内存、索引、存储内容, 数据库的底层就是操作文件系统完成与磁盘硬件的交互,所以数据库软件中有一部分功能就是负责和文件系统交互,文件和日志负责管理数据库自己的普通文件和日志文件。
由整体架构可以清晰的看出Mysql的模块和功能划分,后面我们还将对各模块以及实际应用做不同分析。
以上是关于聊聊MySQL:总览的主要内容,如果未能解决你的问题,请参考以下文章