深入理解 RDBMS| 青训营笔记

134 阅读4分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记

课程回顾

存储系统 -块存储、文件存储、对忽存储、key-value存储 教据库系统 -关系型数据库非关系型数据库 分布式架构 ·数据分布策略、数据豆制协议、分布式事务算法

1经典案例

ACID: ·原子性(Atomicity):事务足一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生.。一致性(Consistency):数据阵事务不能破坏关系数据的完整性以及业务逻辑上的一致性。 ·隔高性(1solation):多个事务并发访问时,事务之问足隔离的,一个事务不应该影呐只它事务运行效果. ·持久性(Durability):在事务完成以后,该事务所对数据再所作的更改便持久的保存在数据阵之中,并不会被回滚。

image.png

image.png

2发展历史

1950s,现代计算机的雏形基本出现。19565年IBM发布了第一个的磁盘驱动器--Model 305 RAMAC,从此数据存储进入磁盘时代。在这个阶田,数捉管理百接词讨文件系济来实孤.

1960s,传统的文件系统已经不能两足人们的需要,数据厍管理系统(DBMS)应运而生。DBMS:按照某种数据模型来组织、存储和管理数据的仓厍-所以逦常按照数据模型的特点将传统数据厍系统分成网状数据库、层次数据库和关系数据库三类. 传统的文件系统难以应对数据增长的挑战,也无法满足多用户共享数据和快速检索数据的需求。层次型、网状型和关系型数据库划分的原则是数据之间的联系方式。层次数据库是按记录来存取数据的;网状数据库是采用网状原理和方法来存储数据;关系型数据库是以行和列的形式存储数据。

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

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

1970年,IBM的研究员E.F.Codd博士发表了一篇名为”RelationaillModelpitlDate for large thared Dat Bam“的论文,提出了关系模型的概念,莫足了关系模型的理论基础。1979年Oracle首次将关系型数据厍雨业化,后倭DB2,SAP Sysbase ASE, nd Informix等知名数据库产品也纷纷面世

1974年IBM的Ray Boyce和Don Chamberlin将Codd关系数据厍的12条准则的数学定义以简中的关键字语法表现出来,里程砰式地提出了SQL(Structured Query Language)语言-

image.png

image.png

3关键技术

SQL引擎 查询解析:SQL语言接近自然语言,入门容易。但是各种关键字、操作符组合起来,可以表达丰富的语意。因此想要处理SQL命令,首先将文本解析成结构化数据,也就是抽象语法树(AST)。 查询优化: SQL是一门表意的语言,只是说『要做什么』,而不说『怎么做』。所以需要一些复杂的逻辑选择『如何拿数据』,也就是选择一个好的查询计划。优化器的作用根据AST优化产生最优执行计划(Plan Tree)。查询执行:根据查询计划,完成数据读取、处理、写入等操作。 事务引擎:处理事务—─致性、并发、读写隔离等 存储引擎:内存中的数据缓存区、数据文件、日志文件

所有的代码在执行之前,都存在一个解析编译的过程,差异点无非在于是静态解析编译还是动态的。SQL语言也类似,在SQL查询执行前的第一步就是查询解析。 词法分析:将一条SQL语句对应的字符串分割为一个个token,这些token可以简单分类。 语法分析:把词法分析的结果转为语法树。根据tocken序列匹配不同的语法规则,比如这里匹配的是update语法规则,类似的还有insert、delete、select、create、drop等等语法规则。根据语法规则匹配SQL语句中的关键字,最终输出—个结构化的数据结构。 语义分析:对语法树中的信息进行合法性校验。

4企业实践

image.png

总结

image.png