这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
一、本堂课重点内容:
- 数据库分类
- 关系型数据库
- 个人小结
在这次青训营的过程中,数据库的讲解也是关键,导师们对于这类信息也多次提及与教导,我在其中也学习到了很多知识,以下就是我本次学习的学习笔记,在这个过程中,我按照这次训练营的分法,也是分为mysql和redis篇,笔记有点简陋,请诸位多加体谅。
二、数据库分类:
数据库按照用途不一样,有相应的区别,例如按照描述关系可以分为关系型和非关系型,按照储存方式,可以分为单机以及分布式。
- 需要注意的是储存的概念,这是一个与数据库相提并论的一个概念,但是在我们后端开发中,使用的更多是数据库这一个概念
- 储存系统的概念因为我之前解决也不多,就在这里不误人子弟了。
三、关系型数据库
- 概念:RDBMS(关系型数据库)是目前使用最为广泛的数据库之一,也正是因为基于关系的存在,所以才能用sql进行查表,sql语句是推进关系型数据库的重大推力。
- 特性:ACID,分别是原子性,一致性,隔离性以及持久性,基于这四个特性,引出了事务的概念,为了保证ACID。
- 一条sql是如何执行的?从下图可知是服务端得到客户端请求,对于数据库发起请求,这条请求对于就是一条sql语句,然后sql语句被数据库解析,这个解析可以分为三个引擎,分别是SQL引擎、事务引擎和储存引擎,SQL引擎就是对于SQL解析的过程,包括Parser(句法解析)知道关键词(select)和对象(*)、optimizer(优化,因为不同词法树路径所消耗不一样,sql默认是按照消耗就是排序,还有一种是按照时间)、executor(执行)。事务引擎保证ACID,储存引擎则是持久化过程。
四、个人总结:
- 总结,了解RDBMS是我们后端开发学习的前提,如果一个后端开发从业者对自己的看家本领不精通的话,不能称得上对于后端开发的掌握
- 下一篇是对于这次课程学习笔记作业的整理。