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

一、定义数据库和实例

数据库:

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

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

实例:

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

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

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所有默认使用哈希索引。

5、Archive存储引擎:

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

6、Federated

7、Maria

……

MySQL体系结构和存储引擎概述的更多相关文章

  1. MySQL技术内幕读书笔记(一)——Mysql体系结构和存储引擎

    目录 MySQL体系结构和存储引擎 定义数据库和实例 MYSQL体系结构 MYSQL存储引擎 MySQL体系结构和存储引擎 定义数据库和实例 数据库:物理操作系统文件或者其他形式文件类型的结合.在MY ...

  2. MySQL 体系结构及存储引擎

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...

  3. 详解mysql体系结构和存储引擎

    概述 之前整理的一些mysql方面内容,适合做备忘,因为我基本不会去记这些概念性的东西,大家做个了解就可以了. 一.定义数据库和实例 1.数据库: 物理操作系统文件或其他形式文件类型的集合. 在MyS ...

  4. MySQL体系结构与存储引擎

    MySQL 体系结构 先看 MySQL 数据库的体系结构,如下图所示. MySQL 体系结构由 Client Connectors 层.MySQL Server 层及存储引擎层组成. Client C ...

  5. MySQL笔记(1)---MySQL体系结构和存储引擎

    1.前言 本系列记录MYSQL数据库的一些结构和实现特点,方便查询. 2.基本概念 数据库:物理操作系统文件或者其他形式文件类型的集合.MySQL中数据库文件可以是frm.MYD.MYI.ibd结尾的 ...

  6. MySQL技术内幕InnoDB存储引擎(一)——MySQL体系结构和存储引擎

    1.数据库和实例 数据库(database)和实例(instance)不能混淆. 什么是数据库 数据库是物理操作系统文件或其他文件类型的集合.说白了,就是存储着的文件,不会运行起来,只能被实例增删改查 ...

  7. MySQL 体系结构和存储引擎

    数据库: 物理操作系统文件或其他形式文件类型的集合 实例: MySQL数据库向后台线程以及一个共享内存区组成,共享内存可以被运行的后台线程所共享 MySQL 数据库实例在某统上的表现就是一个进程. M ...

  8. 【MySQL】(一)MySQL 体系结构和存储引擎

    1.1.定义数据库和实例 数据库:物理操作系统文件或其他形式文件类型的集合.在MySQL数据库中,数据库文件可以是frm.MYD.MYI.ibd结尾的文件. 实例:MySQL数据库由后台线程以及一个共 ...

  9. 第1章 MYSQL 体系结构和存储引擎

    一.定义数据库和实例 在集群的条件下,存在单个数据库对应多个实例 二.Mysql 体系结构 三.Mysql 存储引擎及各存储引擎之间的比较 命令:show engines; 四.连接 MySQL 4. ...

随机推荐

  1. vmware 里MAC 鼠标能移动 无法单击

    vmware 里MAC  鼠标能移动 无法单击 移动有效果,能看到鼠标移动的光标,鼠标放到mac的图标上还有提示,就是无法单击. 键盘正常. 重启mac,重启vmware 20次好了,2小时.

  2. 最适合入门的Laravel中级教程(二)用户认证

    之前的初级教程主要是学习简单的增删改查: 接着的中级教程的目标是在初级教程的基础上能写出更复杂更健壮的程序: 我们先来学习 laravel 的用户认证功能: 在现代网站中基本都有用户系统: 而我们每开 ...

  3. 【原创】python嗅探QQ消息实战

    目录 需求分析 选型 设计与流程 实现过程 结果展示 1 需求分析   在一些业务场景中需要拿到IM上的通信记录来做一些数据分析,例如对QQ平台中的消息进行领域分类等. 2 选型 环境与工具: pyt ...

  4. hdoj2089(入门数位dp)

    题目链接:https://vjudge.net/problem/HDU-2089 题意:给定一段区间求出该区间中不含4且不含连续的62的数的个数. 思路:这周开始做数位dp专题,给自己加油^_^,一直 ...

  5. 【POJ2778】DNA Sequence 【AC自动机,dp,矩阵快速幂】

    题意 题目给出m(m<=10)个仅仅由A,T,C,G组成的单词(单词长度不超过10),然后给出一个整数n(n<=2000000000),问你用这四个字母组成一个长度为n的长文本,有多少种组 ...

  6. 信号基础知识---单频矩形脉冲信号CW

    %CW%参考:声呐技术 P27,31clc;close all;clear all;%参数-------------------------f0=50;T=0.1;%时宽B=1/T;fs=1000;% ...

  7. Pay attention to "Changing"

    data l_ct_imseg type vsep_t_imseg. refresh l_ct_imseg. append lines of ct_imseg to l_ct_imseg. call ...

  8. Solidity的三种合约间的调用方式 call、delegatecall 和 callcode

    0x00 前言 Solidity(http://solidity.readthedocs.io/en/v0.4.24/) 是一种用与编写以太坊智能合约的高级语言,语法类似于 JavaScript. S ...

  9. Quartz.NET快速入门指南

    最近,在工作中遇到了 Quartz.net 这个组件,为了更好的理解项目代码的来龙去脉,于是决定好好的研究一下这个东西.确实是好东西,既然是好东西,我就拿出来分享一下.万丈高楼平地起,我们也从入门开始 ...

  10. eclipse-查看继承层次图/继承实现层次图

    阅读代码时,如果想要看某个类继承了哪些类.实现了哪些接口.哪些类继承了这个类,恰巧这个类的继承实现结构又比较复杂,那么如果对开发工具不是很熟练,这个需求是比较难以实现的.eclipse中的type h ...