MySQL体系结构和存储引擎

本文深入探讨了MySQL的数据库与实例的概念,指出二者通常一对一对应,但在集群环境中可能由多个实例共享。重点介绍了MySQL的体系结构,包括连接池、管理服务、SQL接口等组件,并详细阐述了其核心——存储引擎,如InnoDB、MyISAM等。此外,还讨论了连接MySQL的不同方式,如TCP/IP套接字和UNIX域套接字。
摘要由CSDN通过智能技术生成

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实例都在一台服务器上)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值