深入理解RDBMS | 青训营笔记

63 阅读2分钟

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

事务(Transaction):是由一组SQL语句组成的一个程序执行单元,它需要满足ACID特性

ACID:

  • 原子性(atomicity) :事务是一个不可再分割的工作单元 ,事务中的操作要么都发生,要么都不发生。
  • 一致性(consistency) :数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
  • 隔离性(isolation) :多个事务并发访问时,事务之间是隔离的, 一个事务不应该影响其它事务运行效果。
  • 持久性(durability) :在事务完成以后 ,该事务所对数据库所作的更改便持久的保存在数据库之中 ,并不会被回滚。

发展历史

人工管理——>文件系统——>DBMS 通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库、关系数据库三类

三种数据模型的优缺点:

image.png

SQL

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

  • 语法风格接近自然语言
  • 高度非过程化
  • 面向集合的操作方式
  • 语言简洁,易学易用

关键技术

一条SQL的一生

Parser(语法解析器) AST(语法树) Optimizer(优化器) Pian Execute(执行器)

image.png

SQL引擎

  • 解析器(Parser):一般分为词法分析(Lexical)、语法分析(Syntax)、语义(Semantic)分析等步骤。
  • 优化器(Optimizer):基于规则优化、基于代价优化
  • 执行器(Executor):火山模型向下调研,数据向上返回。

image.png

向量和编译执行优于火山模型

存储引擎

image.png

更多信息:MySQL :: MySQL 8.0 Reference Manual :: 15.4 InnoDB Architecture

image.png

LRU算法去管理内存空间,淘汰老的数据,保留新的数据。

B+树索引

image.png

事务引擎

Atomicity & Undo

image.png

Isolation & 锁

Isolation & MVCC

MVCC的意义:

  • 读写互补阻塞
  • 降低死锁概率
  • 实现读写一致性

Durability & Redo Log

image.png