[RDBMS认识|青训营笔记]
这是我参加「第五届青训营」伴学笔记的第十三天
前言
记录青训营后端专场的学习过程,有不足的地方还请大佬指正。
由于本人基础比较薄弱,所以笔记尽可能的详细。
该文章开始的版本将以简述课程知识点为主,等后面实践有自己的理解后会编辑添加自己的理解。
RDBMS事务ACID特性
- 原子性(Atomicity):事务是一个不可分割的工作单元,事务中的操作要么都发生,要么都不发生。
- 一致性(Consistency):数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
- 隔离性(Isolation):多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。
- 持久性(Durability):在事务完成之后,该事务所对数据库的更改便持久的保存在数据库之中,并不会被回滚。
DBMS数据模型
sql执行过程
- 查询解析:将要处理的sql命令解析成结构化数据,也就是抽象语法树(AST)
- 查询优化:SQL是一门表意语言,只是说要做什么,而不说怎么做,所以需要一些复杂的逻辑选择「如何拿数据」
- 查询执行:根据查询计划、完成数据读取、处理、写入等操作
- 事务引擎:处理事务的一致性、并发、读写隔离等
- 存储引擎:内存中的数据缓存区、数据文件、日志文件