MySQL体系结构和存储引擎

1. 数据库和实例

数据库:物理操作系统文件或其他形式文件类型的集合。
实例:MySQL数据库由后台线程以及一个共享内存区组成。(数据库实例才是真正用于操作数据库文件的

实例与数据库的关系通常是一一对应的,但是在集群情况下可能存在一个数据库被多个数据实例使用的情况。

MySQL被设计为一个单进程多线程架构的数据库,也就是说MySQL数据库实例在系统上的表现就是一个进程

从概念上说,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合;数据库实例是程序,是位于用户与操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询、数据维护、数据库运行控制等都是在数据库实例下进行的。用户只有通过数据库实例才能和数据库打交道。

2. MySQL体系结构

在这里插入图片描述

由上图可以看出,MySQL由以下几部分组成:

  1. 连接池组件
  2. 管理服务和工具组件
  3. SQL接口组件
  4. 查询分析器组件
  5. 优化器组件
  6. 缓冲组件
  7. 插件式存储引擎
  8. 物理文件

3. MySQL存储引擎

MySQL数据库的核心就在于存储引擎!!!

一些主流引擎有:

  1. InnoDB存储引擎(基本上大部分顶尖公司都是使用该引擎
  2. MyISAM存储引擎
  3. NDB存储引擎
  4. Memory存储引擎
  5. Archive存储引擎
  6. Federated存储引擎
  7. Maria存储引擎
  8. 其他存储引擎

在这里插入图片描述
注意:MySQL存在不支持事务(Transactions)的存储引擎

4. 连接MySQL

连接MySQL本质上是进程通信。常用的进程通信方式有:

  1. 管道
  2. 命名管道
  3. 命名字
  4. TCP/IP套接字(任何平台下都提供的连接方式,也是网络中使用得最多得一种方式;客户端在一台服务器上,MySQL实例在另一台服务器上)
  5. UNIX域套接字(基于UNIX和Linux环境,客户端和MySQL实例都在一台服务器上)
posted @ 2022-10-14 19:20  astralcon  阅读(21)  评论(0编辑  收藏  举报