MySQL体系结构和存储引擎概述

存储 存储软件
MySQL数据库由后台进程以及一个共享内存区组成。共享内存可以被运行的后台线程所共享。 需要注意的是,数据库实例才是真正用于操作数据库文件的。

 一、定义数据库和实例

数据库:

物理操作系统文件或其他形式文件类型的集合。数据库文件可以是frm、MYD、ibd 结尾的文件。

从概念上来说,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器的数据集合;

实例:

MySQL数据库由后台进程以及一个共享内存区组成。共享内存可以被运行的后台线程所共享。 需要注意的是,数据库实例才是真正用于操作数据库文件的。

从概念上来说,数据库实例是程序,是位于用户于操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询等都在实例下进行,应用程序只有通过数据库实例才能和数据库打交道。

[[226811]]

PS:MySQL是一个单进程多线程架构的数据库。也就是说MySQL数据库实例在系统中表现形式就是一个进程。

二、MySQL体系结构

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

1. 连接池组建

2. 管理服务和工具组建

3. SQL接口组件(SQL Interface)

4. 查询分析器(Parser)

5. 优化器组件(Optimizer)

6. 缓冲组件(Cache & Buffer)

7. 插件式存储引擎(Pluggable Storage Engines)

8. 物理文件 (File Sysgtem & Logs)

三、MySQL存储引擎

MySQL与其他数据库对比等一大特点就是独有的插件式体系结构,而每存储引擎都有各自的特点,能够根据具体的业务或者应用场景建立不同的存储引擎表。

下面简单的介绍以下MySQL几款常见的存储引擎:

1、InnoDB存储引擎:

InnoDB存储引擎支持事务,设计目标主要面向OLTP应用,特点是行锁设计、支持外键。PS:MySQL5.6+开始支持全文索引。

2、MyISAM存储引擎:

MyISAM存储引擎不支持事务、表锁设计,支持全文索引,主要面向一些OLAP数据库应用。

3、NDB存储引擎:

NDB存储引擎是一款集群存储引擎,特点是将数据全部放在内存中(MySQL5.1+开始可以将非索引数据放在磁盘上)因此主键查找的数据快,通过添加数据存储节点,可以线性的提高数据库性能,是高可用,高性能的集群系统。

4、Memory存储引擎:

Memory存储引擎将表中所有的数据放置内存中,如果数据库重启或者崩溃,数据将消失。Memory所有默认使用哈希索引。

***rchive存储引擎:

只支持insert 和 select操作, 使用zlib算法将数据行(row)压缩存储。 非常适合存储归档数据,如日志信息。

6、Federated

7、Maria

……

责任编辑:武晓燕 来源: 网页设计轻松学
相关推荐

2009-09-11 10:38:03

LINQ体系结构

2012-02-06 17:22:44

MySQL

2010-06-22 13:56:24

Meego开发

2010-11-26 14:33:29

Microsoft O

2020-02-18 16:07:17

物联网表存储数据库

2018-06-14 15:05:22

数据库MySQL存储引擎

2010-09-16 15:22:30

JVM体系结构

2010-12-20 15:25:35

SharePoint Project Ser

2009-06-26 15:58:28

EJB

2009-07-15 13:46:26

Swing体系结构

2014-07-23 09:33:52

2009-06-03 09:11:03

Hibernate工作原理体系结构

2010-08-16 12:54:21

ASON路由技术

2016-12-26 10:29:01

Spring框架结构

2010-09-25 13:38:23

Inside JVM

2010-06-21 14:51:14

ASON路由

2009-09-08 14:34:42

Linq to SQL

2009-07-10 16:07:10

TikeSwing创建MVC体系结构

2010-04-23 09:13:05

Oracle体系结构

2009-02-04 09:48:39

体系结构服务原理Web
点赞
收藏

51CTO技术栈公众号