【课程笔记】深入理解 RDBMS | 青训营笔记

148 阅读2分钟

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

1、经典案例

1.1、从一场红包雨说起

image.png

1.2、RDBMS事务 ACID

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

  • ACID:

    • 原子性:2个操作需要同时成功
    • 一致性:前后2个状态都需要是有效状态
    • 隔离性:2个操作不能互相影响
    • 持久性:不能因为宕机等问题丢失数据

1.3、红包雨与ACID-原子性

image.png

1.4、红包雨与ACID-一致性

image.png

1.5、红包雨与ACID-隔离性

image.png

1.6、红包雨与ACID-持久性

image.png

1.7、红包雨与高可靠

image.png

2、发展历史

2.1、前DBMS时代-人工管理

image.png

2.2、前DBMS时代-文件系统

image.png

2.3、DBMS时代

image.png

2.3.1、DBMS数据模型-网状模型

image.png

2.3.2、DBMS数据模型-层次模型

image.png

  • Ps: 每个子节点只有1个父节点

2.3.3、DBMS数据模型-关系模型

image.png

2.4 DBMS数据模型比较

image.png

2.5、SQL语言

image.png

  • 过程话的语言(编程语言):需要详细地告诉计算机怎么做
  • 结构化的语言(sql):只需要告诉计算机做什么

image.png

2.6、历史回顾

image.png

3、关键技术

3.1、一条sql的一生

image.png

  • Ps:ADT-语法树

3.2、SQL引擎-Parser

image.png

3.2、SQL引擎-Optimizer

image.png

image.png

image.png

3.2、SQL引擎-Executor

image.png

image.png

image.png

3.3、存储引擎-以InoDB为例

image.png

3.3、存储引擎-Buffer Pool

image.png

image.png

3.3、存储引擎-page

image.png

3.3、存储引擎-B+ Tree

image.png

  • Ps:方便范围查询

3.4、事务引擎

image.png

3.4、事务引擎-tomicity 与 undo log

image.png

  • Ps:一致性一般由业务逻辑完成

3.4、事务引擎-Isolation 与 锁

image.png

3.4、事务引擎-Isolation 与 MVCC

image.png

3.4、事务引擎-Durability 与 Redo Log

image.png

  • Ps:redo ,以保证将数据写入了磁盘

4、企业实践

4.1、春节红包雨挑战

image.png

4.2、大流量-Sharding

image.png

4.3、流量突增-扩容

image.png

4.4、流量突增-代理连接池

image.png

4.5、稳定性&可靠性

image.png

4.5.1、稳定性&可靠性-3AZ高可用

image.png

4.5.1、稳定性&可靠性-HA管理

image.png

5、总结

该课程主要介绍了关系型数据管理系统的经典案例(ACID/高并发/高可靠)、发展历史(前DBMS时代/数据模型/发展时间线)、关键技术(SQL引擎/存储引擎/事务引擎)和企业实践(红包雨挑战/大流量/流量突增/稳定性&可靠性)。