在了解数据库引擎之前,我们首先需要了解数据库的应用类型,数据库的应用类型一般分为两类,即ONTP(onLine Transaction Processing,联机事务处理)和ONAP(onLIne Analysis Processing,联机分析处理)两种。ONTP是传统的关系型数据库的主要应用,其主要面对的是日常的事物处理,例如我们经常用的数据库就是这个类型的应用,ONAP主要是支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。
Mysql的组件:
Mysql较与其他数据库的优点之一就是支持插件是存储引擎,并且开源,也即是我们可以根据自己的需求开发自己的存储引擎。
innoDB存储引擎:innoDB存储引擎是mysql5.5.8默认的存储引擎,innoDB的设计主要是面向OLTP的应用,其特点是支持事物、行锁设计、支持外键。
MyISAM存储引擎:不支持事物、表锁设计、支持全文索引,主要面向一些OLAP数据库的应用,在MySQL5.5.8版本之前是默认的存储引擎。
NDB存储引擎:NBD存储引擎是一个集群存储引擎,类似于Oracle的RAC集群,NDB存储引擎的特点是数据全部放在内存中,从5.1版本开始,可以将非索引数据放在磁盘上,因此主键查找的速度极快,并且能够在线添加NDB的数据存储节点以便提高数据库的性能。由此可见,NDB存储引擎是高可用、高性能、高扩展性的数据库集群系统,也是面向OLTP数据库应用类型。
Memory存储引擎:正如其名,Memory存储引擎中的数据都存放在内存中的,数据库重启或发生崩溃,表中的数据都将消失,非常适合存储一些临时数据,Memory存储引擎默认使用哈希索引,而不是常用的B+树索引。
Infobright存储引擎:第三方的存储引擎。其特点是存储按照列而非行的,因此非常适合OLAP的数据库应用。
NTSE存储引擎:网易开发的面向内部使用的存储引擎。目前版本不支持事物,但提供压缩、行级缓存等特性,不久将会实现面向内存的事物支持。
领取专属 10元无门槛券
私享最新 技术干货