这是我参与「第三届青训营 -后端场」笔记创作活动的第5篇笔记
1、经典案例
1.1、从一场红包雨说起
1.2、RDBMS事务 ACID
-
事务:是由一组SQL语句组成的一个程序执行单元(Unit),他需要满足ACID特性
-
ACID:
- 原子性:2个操作需要同时成功
- 一致性:前后2个状态都需要是有效状态
- 隔离性:2个操作不能互相影响
- 持久性:不能因为宕机等问题丢失数据
1.3、红包雨与ACID-原子性
1.4、红包雨与ACID-一致性
1.5、红包雨与ACID-隔离性
1.6、红包雨与ACID-持久性
1.7、红包雨与高可靠
2、发展历史
2.1、前DBMS时代-人工管理
2.2、前DBMS时代-文件系统
2.3、DBMS时代
2.3.1、DBMS数据模型-网状模型
2.3.2、DBMS数据模型-层次模型
- Ps: 每个子节点只有1个父节点
2.3.3、DBMS数据模型-关系模型
2.4 DBMS数据模型比较
2.5、SQL语言
- 过程话的语言(编程语言):需要详细地告诉计算机怎么做
- 结构化的语言(sql):只需要告诉计算机做什么
2.6、历史回顾
3、关键技术
3.1、一条sql的一生
- Ps:ADT-语法树
3.2、SQL引擎-Parser
3.2、SQL引擎-Optimizer
3.2、SQL引擎-Executor
3.3、存储引擎-以InoDB为例
3.3、存储引擎-Buffer Pool
3.3、存储引擎-page
3.3、存储引擎-B+ Tree
- Ps:方便范围查询
3.4、事务引擎
3.4、事务引擎-tomicity 与 undo log
- Ps:一致性一般由业务逻辑完成
3.4、事务引擎-Isolation 与 锁
3.4、事务引擎-Isolation 与 MVCC
3.4、事务引擎-Durability 与 Redo Log
- Ps:redo ,以保证将数据写入了磁盘
4、企业实践
4.1、春节红包雨挑战
4.2、大流量-Sharding
4.3、流量突增-扩容
4.4、流量突增-代理连接池
4.5、稳定性&可靠性
4.5.1、稳定性&可靠性-3AZ高可用
4.5.1、稳定性&可靠性-HA管理
5、总结
该课程主要介绍了关系型数据管理系统的经典案例(ACID/高并发/高可靠)、发展历史(前DBMS时代/数据模型/发展时间线)、关键技术(SQL引擎/存储引擎/事务引擎)和企业实践(红包雨挑战/大流量/流量突增/稳定性&可靠性)。