上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3 存储引擎的分类
实际上,存储引擎已经有了几种成熟的可选方案,单机环境内部的存储引擎绝大部分是基于这些成熟的方案进行构建的,所以本节对目前业界主流的存储引擎进行介绍。
业界主流的存储引擎可以根据其适用的场景分为下面两大类。
❑ 基于B+树的存储引擎:B+树存储引擎主要适用于读多写少的场景,最典型的实现就是关系数据库MySQL、Oracle等内部使用的存储引擎,例如InnoDB、MyISAM等。这类存储引擎主要采用B+树这类数据结构维护数据和索引信息。
❑ 基于LSM派系的存储引擎:LSM派系存储引擎属于一大类存储引擎,这类存储引擎主要为大量写而设计,适用于写多读少的场景。LSM派系存储引擎中最典型的就是LSM Tree存储引擎,此外还有LSM Hash、LSM Array等存储引擎。
B+树存储引擎和LSM派系存储引擎开源组件的实现代表如图1-6所示。后续章节会重点介绍二者的设计过程、原理,并配合具体的开源项目源码进行分析。
图1-6 两大类存储引擎开源组件的实现代表