数据库是数据的集合,数据库管理系统(DBMS)是操作和管理数据库的应用程序。数据库应用主要有两类:OLAP(联机分析处理)和OLTP(联机事务处理)。
OLAP的主要特点是:
- 实时性要求不高
- 数据量大
- 并发量小
OLTP的主要特点是:
- 实时性要求高
- 数据量小
- 高并发
- 要求满足ACID
Mysql体系架构
mysql是一种DBMS,其体系架构如下图所示:
mysql中集成的是插件式的存储引擎,InnoDB引擎是其中之一。存储引擎基于表而不是数据库:同一个数据库中根据不同表的访问操作需求可以选择不同的存储引擎。
InnoDB引擎
InnoDB引擎主要面对OLTP类应用。
InnoDB引擎在mysql中处于文件和文件系统的上层,管理着对InnoDB引擎表的访问和更新。
InnoDB引擎逻辑存储结构
数据需要在一定的数据结构和组织结构下才能进行有效的管理。InnoDB表中的每行数据是基于B+树存储的,其中B+树中的顺序依据是主键的顺序,称为索引组织表。B+树存储在数据文件中,在B+树之外,InnoDB对数据文件中数据的管理和组织定义一个新的逻辑结构如下图所示: