数据库运维
记录DBA学习成长历程

MySQL存储引擎的查看种类及功能介绍

什么是存储引擎

相当于MySQL内置的文件系统,与Linux的文件系统打交道的层次结构
备份恢复,主从复制以及优化都和存储引擎有关。SQL层和连接层都是在内存里面工作,
真正涉及IO的就是存储引擎, 负责和linux文件系统打交道(过程中涉及内存结构),
相当于Linux文件系统和物理磁盘打交道,只不过比文件系统强大。 
访问层次:存储引擎就是生成的idb文件往linux文件系统data写数据的一种方式。
mysql生成ibd文件的的内存缓存buffer pull-->linux文件系统的内存缓存OS buffer-->linux文件系统data-linux磁盘sdb

MySQL存储引擎种类

可以不同的表,设定不同的存储引擎。
mysql>show engines;
MGR_MYISAM
CSV
MyISAM:主要是mysql库的表在用,5.5以前mysql所有表都是在用 
BLACKHOLE:只产生日志,不产生数据 
PERFORMANCE_SCHEMA
InnoDB
ARCHIVE
MEMORY
FEDERATED

列举MySQL中支持存储引擎种类?

InnoDB:mysql5.5以后默认的存储引擎。99%以上的业务表是InnoDb
MyISAM
CSV
MEMORY

MySQL分支数据库产品的存储引擎

PerconaDB:XtraDB:默认存储引擎 (和oracle的mysql默认存储引擎innodb类似,只是换了个名字,修改了些参数)
MariaDB:InnoDB

information_schema视图库使用memory存储引擎

select table_schema,table_name,engine 
from information_schema.tables where engine='MEMORY';
在有一些视图存储,需要加速访问的可以使用memory存储引擎,只在内存中生成,不输出到磁盘

其他的存储引擎支持:

RocksDB
TokuDB:适合zabbix监控系统 RocksDB 
MyRocks:适用于业务中有大量出入或者删除操作的场景,用于数据量较大的业务。
以上三种存储引擎也是使用较多的,共同点:压缩比较高,数据插入性能极高,查询功能和innodb相当,也支持innodb高级特性,
现在很多的NewSQL,使用比较多的功能特性.大型监控系统
比如zabbix优化使用TokuDB可以大大提升性能。

功能

数据读写
数据安全和一致性:存储引擎可以保证数据恢复在宕机以前
提高性能
热备份
自动故障恢复
高可用方面支持
赞(2)
MySQL学习笔记 » MySQL存储引擎的查看种类及功能介绍