MySQL入门基础一-Mysql的基础体系架构

Posted DK聊架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL入门基础一-Mysql的基础体系架构相关的知识,希望对你有一定的参考价值。

目录

一、MySQL介绍

二、Mysql分支以及替代

Drizzle

MariaDB

Percona Server

三、Mysql基础体系架构


 

一、mysql介绍

MySQL 由瑞典MysqlAb 公司开发,属于 Oracle旗下产品。MySQL 是当前最流行的关系型数据库管理系统。京东、阿里、等互联网大厂基本都是使用Myql数据库进行业务数据的存储。

MySQL的版本众多,目前最新版本为MySQL8,但绝大部分厂商当前主要是用还是MySQL5.7.32左右的版本。

除此之外,MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是Mysql诞生出了很多分支和相关替代产品

 

二、Mysql分支以及替代

MySQL 变种有好几个主要有三个久经考验的主流变种Percona Server MariaDB  Drizzle它们都有活跃的用户社区和某种程度上的商业支均由独 立的服务供应商支持

Drizzle

Drizzle 是真正的 MySQL 分支,而且是完全开源的产品而非只是个变种或 增强版本。它并不与 MySQL 容不能简单地将 MySQL 后端替换为 Drizzle

Drizzle  MySQL 有很大差别进行了一些重大更改甚至 SQL 法的变化 都非常大设计目标之一是提供一种出色的解决方案来解决高可用性问题在实 现上,Drizzle 清除了一些表现不佳和不必要的功能将很多代码重写对它们进 行了优化,甚至将所用语言从 C 换成了 C++

此外,Drizzle 另一个设计目标是能很好的适应具有大量内容的多核服务器 运行 Linux  64 位机器、云计算中使用的服务器托管网站的服务器和每分钟 接收数以万计点击率的服务器并且大幅度的削减服务器成本

MariaDB

 Sun 收购 MySQL Monty Widenius 这位 MySQL 的创建者因不认同 MySQL 开发流程而离开 Sun他成立了 Monty 程序公司创立了 MariaDBMariaDB 的目标是社区开发Bug 修复和许多的新特性实际上可以将 MariaDB 视为 MySQL 的扩展集它不仅提供 MySQL 提供的所有功能还提供其他功能MariaDB  原版 MySQL 的超集因此已有的系统不需要任何修改就可以运行

诸如 Google Facebook 维基百科等公司或者网站所使用了 MariaDB 不过 Monty 公司不是以赢利为目的,而是由产品驱动的这可能会带来问题因为没 有赢利的公司不一定能长久维持下去

Percona Server

由领先的 MySQL 咨询公司 Percona Percona 公司的口号就是“The    Database Performance Experts Percona 的创始人也就是《高性能 MySQL》书 作者

Percona Server 是个与 MySQL 向后兼容的替代品它尽可能不改变 SQL 语法 客户端/服务器协议和磁盘上的文件格式任何运行在 MySQL 上的都可以运行在 Percona Server 上而不需要修改。切换到 Percona Server 只需要关闭 MySQL 和启  PerconaServer ,不需要导出和重新导入数据

Percona Server 有三个主要的目透明增加允许用户更紧密地查看服务 器内部信息和行为的方法比如慢查询日志中特别增加的详细信息性能     Percona Server 包含许多性能和可扩展性方面的改进,还加强了性能的可预测性 和稳定性。其中主要集中于 InnoDB;操作灵活性,Percona Server 使操作人员和 系统管理员在让 MySQL 作为架构的一部分而可靠并稳定运行时提供了很多便利

一般来说,Percona Server 中的许多特性会在后来的标准 MySQL 中出现 国内公司阿里内部就运行了上千个 Percona Server 的实例

三、Mysql基础体系架构

官方给出的Mysql基础体系架构图如下:

可以看出 MySQL 最上层是连接组件下面服务器是由连接池管理工具服务、SQL 接口解析器优化缓存存储引擎文件系统组成

连接池由于每次建立建立需要消耗很多时间连接池的作用就是将这些连 接缓存下来下次可以直接用已经建立好的连接提升服务器性能

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

SQL 接口接受用户的 SQL 命令并且返回用户需要查询的结果比如 select from 就是调用 SQL Interface

解析器:SQL 命令传递到解析器的时候会被解析器验证和解析解析器主要 

a .   SQL 语句分解成数据结并将这个结构传递到后续步骤以后 SQL 语句的传递和处理就是基于这个结构的

b.  如果在分解构成中遇到错误,那么就说明这个 sql 语句是不合理的

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

缓存器  查询缓存如果查询缓存有命中的查询结果查询语句就可以直 接去查询缓存中取数据这个缓存机制是由一系列小缓存组成的。比如表缓存记录缓存key 缓存 权限缓存等

存储引擎文件系统的作用面会细讲

以上是关于MySQL入门基础一-Mysql的基础体系架构的主要内容,如果未能解决你的问题,请参考以下文章

入门MySQL——架构篇

A.001.2.Mysql体系架构介绍

入门ABP——多层架构体系介绍

MySql基础入门-mysql的结构层次

MySQL基础篇--体系结构

Oracle数据库集群入门培训教程_Oracle RAC集群体系架构解析