一 :数据库和数据库实例

在MySQL的学习研究中,存在两个非常容易混淆的概念,即数据库和数据库实例。在MySQL中,数据库和数据库实例定义如下:

数据库:存储数据的集合;

数据库实例:操作数据库的集合。

如上定义很清楚了,数据库是用来存储数据的,数据库实例是用来操作数据的,从操作系统的角度,数据库实例表现为一个进程,对应多个线程,

在非集群数据库架构中,数据库与数据库实例存在一 一对应关系,在数据库集群中,可能存在多个数据库实例操作一个数据库情况,即多对一关系。

二 :MySQL基架

对于MySQL来说,虽然经历了多个版本迭代(MySQL5.5,MySQL 5.6,MySQL 5.7,MySQL 8),但每次的迭代,都是基于MySQL

基架的,MySQL基架大致包括如下几大模块组件:

(1)MySQL向外提供的交互接口(Connectors)
(2)管理服务组件和工具组件(Management Service & Utilities)
(3)连接池组件(Connection Pool)
(4)SQL接口组件(SQL Interface)
(5)查询分析器组件(Parser)
(6)优化器组件(Optimizer)
(7)缓存主件(Caches & Buffers)
(8)插件式存储引擎(Pluggable Storage Engines)
(9)物理文件(File System)

(一)MySQL向外提供的交互接口(Connectors)

Connectors组件,是MySQL向外提供的交互组件,如java,.net,php等语言可以通过该组件来操作SQL语句,实现与SQL的交互。

(二)管理服务组件和工具组件(Management Service & Utilities)

提供对MySQL的集成管理,如备份(Backup),恢复(Recovery),安全管理(Security)等

(三)连接池组件(Connection Pool)

负责监听对客户端向MySQL Server端的各种请求,接收请求,转发请求到目标模块。每个成功连接MySQL Server的客户请求都会被

创建或分配一个线程,该线程负责客户端与MySQL Server端的通信,接收客户端发送的命令,传递服务端的结果信息等。

(四)SQL接口组件(SQL Interface)

接收用户SQL命令,如DML,DDL和存储过程等,并将最终结果返回给用户。

(五)查询分析器组件(Parser)

首先分析SQL命令语法的合法性,并尝试将SQL命令分解成数据结构,若分解失败,则提示SQL语句不合理。

(六)优化器组件(Optimizer)

对SQL命令按照标准流程进行优化分析。

(七)缓存主件(Caches & Buffers)

缓存和缓冲组件

(八)MySQL存储引擎

1.什么是MySQL存储引擎

MySQL属于关系型数据库,而关系型数据库的存储是以表的形式进行的,对于表的创建,数据的存储,检索,更新等都是由MySQL

存储引擎完成的,这也是MySQL存储引擎在MySQL中扮演的重要角色。

研究过SQL Server和Oracle的读者可能很清楚,这两种数据库的存储引擎只有一个,而MySQL的存储引擎种类比较多,如MyISAM存储

引擎,InnoDB存储引擎和Memory存储引擎.

MySQL之所以有多种存储引擎,是因为MySQL的开源性决定的。MySQL存储引擎,从种类上来说,大致可归结为官方存储引擎和第三

方存储引起。MySQL的开源性,允许第三方基于MySQL骨架,开发适合自己业务需求的存储引擎。

2.MySQL存储引擎作用

MySQL存储引擎在MySQL中扮演重要角色,其作比较重要作用,大致归结为如下两方面:

作用一:管理表创建,数据检索,索引创建等

作用二:满足自定义存储引擎开发。

3.MySQL引擎种类

不同种类的存储引擎,在存储表时的存储引擎表机制也有所不同,从MySQL存储引擎种类上来说,可以分为官方存储引擎和第三方存储引擎。

当前,也存在多种MySQL存储引擎,如MyISAM存储引擎,InnoDB存储引擎,NDB存储引擎,Archive存储引擎,Federated存储引擎,Memory

存储引擎,Merge存储引擎,Parter存储引擎,Community存储引擎,Custom存储引擎和其他存储引擎。

其中,比较常用的存储引擎包括InnoDB存储引擎,MyISAM存储引擎和Momery存储引擎。

4.几种典型MySQL存储引擎比较

(九)物理文件(File System)

实际存储MySQL 数据库文件和一些日志文件等的系统,如Linux,Unix,Windows等。

三 :一个查询流程图

如果想免费学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:552391552,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。

关注公众号,了解更多架构知识

点击获取更多

浅谈MySQL架构体系相关推荐

  1. 浅谈MySQL存储引擎-InnoDBMyISAM

    浅谈MySQL存储引擎-InnoDB&MyISAM 存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取.MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式 ...

  2. Java架构师成长之道之浅谈计算机系统架构

    Java架构师成长之道之浅谈计算机系统架构 Java架构师成长之旅 1.1 信息技术发展趋势 目前信息技术主要经历了互联网.移动互联网以及以大数据.云计算.人工智能和区块链为代表的新兴技术三个阶段.而 ...

  3. 浅谈Service Mesh体系中的Envoy

    摘要: 提到Envoy就不得不提Service Mesh,说到Service Mesh就一定要谈及微服务了,那么我们就先放下Envoy,简单了解下微服务.Service Mesh以及Envoy在Ser ...

  4. 浅谈MySQL的B树索引与索引优化

    转载自   浅谈MySQL的B树索引与索引优化 MySQL的MyISAM.InnoDB引擎默认均使用B+树索引(查询时都显示为"BTREE"),本文讨论两个问题: 为什么MySQL ...

  5. 浅谈mysql主从复制的高可用解决方案

    1.熟悉几个组件(部分摘自网络) 1.1.drbd      -- DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID&qu ...

  6. 浅谈MYSQL之级联复制(附带实验)

    浅谈MYSQL之级联复制 级联复制 原理:级联结构就是通过减少直接从属于 Master 的 Slave 数量,减轻 Master 的压力,分散复制请求,从而提高整体的复制效率. 级联复制的应用场景 跨 ...

  7. 浅谈分布式架构搭建-理论知识

    浅谈分布式架构搭建 基础 理念 技术选型 后端技术设计 总体架构设计 关键案例设计 架构师搭建架一般优先考虑的是安全性.稳定性.高吞吐量.哈哈,菜鸟的我让我装个B,回忆一下以前架构搭建 基础 理念 C ...

  8. 支付宝的数据库是MySQL变种_浅谈MySql的储存引擎(表类型)

    浅谈mysql的存储引擎(表类型) 什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库, ...

  9. 【转载】运维角度浅谈MySQL数据库优化

     运维角度浅谈MySQL数据库优化 2015-06-02 14:22:02 标签:mysql优化   mysql分库分表分区 mysql读写分离 mysql主从复制 原创作品,允许转载,转载时请务必以 ...

最新文章

  1. 【转】推荐给初级Java程序员的3本进阶书
  2. 线性代数之矩阵偏导续
  3. 关于tensorflow和keras那些事儿
  4. iOS动画:UIView动画和CALayer动画(CABasicAnimation、CAKeyframeAnimation的使用)
  5. es6 Class的严格模式
  6. Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classific
  7. leetcode238-除自身以外数组的乘积
  8. 4.3. tensorflow2实现相关分析概述与简单相关系数计算——python实战
  9. Flask框架 之重定向、cookie和session
  10. 20145303刘俊谦 Exp7 网络欺诈技术防范
  11. 【单片机】51单片机烧录那些事儿
  12. 第七十一章 SQL函数 LAST_DAY
  13. 【安全知识分享】PPTX|食堂食品安全卫生知识培训(65页)(附下载)
  14. qq空间的相册名称java_qq相册名称大全简单
  15. 在windows系统中安装显卡驱动
  16. composer设置镜像
  17. Java_计算机基础知识
  18. 上海共享办公,创新创业空间
  19. unity替换shader方法
  20. 妙用Adobe Audition 系列教程(一):信号发生器

热门文章

  1. 功能奇数次执行和偶数次执行时的结果不同的故障复盘
  2. RocketMQ介绍与云服务器安装
  3. python中的引用、浅拷贝和深拷贝
  4. 团队-团队编程项目作业名称-需求分析;
  5. 【从零开始学BPM,Day2】默认表单开发
  6. UVA, 580 Critical Mass
  7. android adb常用指令
  8. CentOS下crash分析内核kdump文件方法
  9. UVALive 6093 Emergency Room --优先队列实现的模拟
  10. C# winform DataGridView 操作大全