MySQL - 深入理解RDBMS|青训营笔记

127 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第14天。

发展历史

前DBMS时代

人工管理、文件系统

DBMS时代

1960s,传统的文件系统已经不能满足人们的需要,数据库管理系统(DBMS)应运而生。 DBMS:按照某种数据模型来组织、存储和管理数据的仓库。 所以通常按照数据模型的特点将传统数据库系统分成网状数据库层次数据库关系数据库三类。

网状模型

网状数据库所基于的网状数据模型建立的数据之间的联系,能反映现实世界中信息的关联,是许多空间对象的自然表达形式。 1964年,世界上第一个数据库系统集成数据存储( Integrated Data Storage, IDS )诞生于通用电气公司。 IDS是世界上第一个网状数据库,奠定了数据库发展的基础,在当时得到了广泛的应用。在1970s网状数据库系统+分流行,在数据库系统产品中占据主导地位。

层次模型

1968年,世界上第一一个层次数据库信息管理系统( Information Management System, IMS )诞生于IBM公司,这也是世界上第一个大型商用的数据库系统。层次数据模型,即使用树形结构来描述实体及其之间关系的数据模型。

关系模型

使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。 关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统- -的关系-- 张二维表, 在关系模型中,操作的对象和结果都是一-张二维表, 它由行和列组成; 关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系-表,来实现多对多的关系;

SQL引擎

查询解析: SQL 语言接近自然语言,入门容易。但是各种关键字、操作符组合起来,可以表达丰富的语意。因此想要处理SQL命令,首先将文本解析成结构化数据,也就是抽象语法树(AST)。

查询优化: SQL 是一门表意的语言,只是说「要做什么,而不说「怎么做。所以需要一些复杂的逻辑选择如何拿数据」,也就是选择一个好的查询计划。 优化器的作用根据AST优化产生最优执行计划(Plan Tree)。

查询执行:根据查询计划,完成数据读取、处理、写入等操作。

事务引擎:处理事务一致性、并发、读写隔离等。

存储引擎:内存中的数据缓存区、数据文件、日志文件。