内容简介:还没关注?快动动手指!
还没关注?
快动动手指!
聊技术、论职场!
为IT人打造一个“有温度”的 狸猫技术窝
一 、数据库和数据库实例
在 MySQL 的学习研究中,存在两个非常容易混淆的概念,即数据库和数据库实例。
在MySQL中,数据库和数据库实例定义如下:
-
数据库:存储数据的集合;
-
数据库实例:操作数据库的集合。
如上定义很清楚了,数据库是用来存储数据的,数据库实例是用来操作数据的
从操作系统的角度,数据库实例表现为一个进程,对应多个线程.
在非集群数据库架构中,数据库与数据库实例存在一 一对应关系,在数据库集群中,可能存在多个数据库实例操作一个数据库情况,即多对一关系。
二 、MySQL基架
对于MySQL来说,虽然经历了多个版本迭代,但每次的迭代,都是基于MySQL 基架的。
MySQL基架大致包括如下几大模块组件:
-
MySQL向外提供的交互接口(Connectors)
-
管理服务组件和 工具 组件(Management Service & Utilities)
-
连接池组件(Connection Pool)
-
SQL接口组件(SQL Interface)
-
查询分析器组件(Parser)
-
优化器组件(Optimizer)
-
缓存主件(Caches & Buffers)
-
插件式存储引擎(Pluggable Storage Engines)
-
物理文件(File System)
1.MySQL向外提供的交互接口(Connectors)
Connectors组件,是MySQL向外提供的交互组件,如java,.net,php等语言可以通过该组件来操作SQL语句,实现与SQL的交互。
2.管理服务组件和工具组件(Management Service & Utilities)
提供对MySQL的集成管理,如备份(Backup),恢复(Recovery),安全管理(Security)等
3.连接池组件(Connection Pool)
负责监听对客户端向MySQL Server端的各种请求,接收请求,转发请求到目标模块。
每个成功连接MySQL Server的客户请求都会被 创建或分配一个线程,该线程负责客户端与MySQL Server端的通信,接收客户端发送的命令,传递服务端的结果信息等。
4.SQL接口组件(SQL Interface)
接收用户SQL命令,如DML,DDL和存储过程等,并将最终结果返回给用户。
5.查询分析器组件(Parser)
首先分析SQL命令语法的合法性,并尝试将SQL命令分解成数据结构,若分解失败,则提示SQL语句不合理。
6.优化器组件(Optimizer)
对SQL命令按照标准流程进行优化分析。
7.缓存主件(Caches & Buffers)
缓存和缓冲组件
8.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存储引擎比较
9.物理文件(File System)
实际存储MySQL 数据库文件和一些日志文件等的系统,如Linux,Unix,Windows等。
三、一个查询流程图
四、参看文献
【01】MySQL权威指南 (美)Paul Dubois著 杨涛 杨晓云 王群 等译
【02】MySQL技术内幕 InnoDB存储引擎 姜承尧著
【03】SQL学习指南 (美)Alan Beaulieu 著
End
作者: Alan
来源:
https://www.cnblogs.com/wangjiming/p/10410904.html
本文版权归作者所有
为您推荐:
长按下图二维码,即刻关注【 狸猫技术窝 】
阿里、京东、美团、字节跳动
顶尖技术专家 坐镇
为IT人打造一个 “有温度” 的技术窝!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Vue底层架构及其应用(上)
- Vue底层架构及其应用(下)
- 『互联网架构』软件架构-dubbo协议底层原理与实现(44)
- 高效稳定性的DENC区块链底层架构
- 华为方舟编译器是怎么改变安卓底层架构的?
- 已获4轮融资,数据操作系统「Mesosphere」想要推动自有底层技术架构
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入浅出WebAssembly
于航 / 电子工业出版社 / 2018-11 / 128.00元
WebAssembly是一种新的二进制格式,它可以方便地将C/C++等静态语言的代码快速地“运行”在浏览器中,这一特性为前端密集计算场景提供了无限可能。不仅如此,通过WebAssembly技术,我们还可以将基于Unity等游戏引擎开发的大型游戏快速地移植到Web端。WebAssembly技术现在已经被计划设计成W3C的标准,众多浏览器厂商已经提供了对其MVP版本标准的支持。在Google I/O ......一起来看看 《深入浅出WebAssembly》 这本书的介绍吧!