深入理解 RDBMS|青训营笔记

132 阅读1分钟

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

1. 经典案例

1.1 从一场红包雨说起

image-20220604222855959

1.2 RDBMS事务ACID

image-20220604222906949

1.3 红包雨与ACID

image-20220604223013234

image-20220604223026032

image-20220604223105524

image-20220604223119997

1.4 红包雨与高并发

image-20220604223154640

1.5 红包雨与高可靠

image-20220604223202978

2. 发展历史

2.1 前DBMS时代-人工管理

image-20220604223520641

2.2 前DBMS时代-文件管理

image-20220604223534666

2.3 DBMS时代

image-20220604223552366

2.3.1 DBMS数据模型-网状模型

image-20220604223606518

2.3.2 DBMS数据模型-层次模型

image-20220604223618604

2.3.3 DBMS数据模型-关系模型

image-20220604223628273

2.4 DBMS数据模型

image-20220604223637749

2.5 SQL语言

image-20220604223647184

2.6 历史回顾

image-20220604223657561

3. 关键技术

3.1 一条SQL的一生

image-20220604224027241

3.2 SQL引擎

3.2.1 SQL引擎-Parser

image-20220604224040585

3.2.2 SQL引擎-Optimizer

image-20220604224052583

image-20220604224105451

image-20220604224116589

3.2.3 SQL引擎-Executor

image-20220604224459984

image-20220604224510409

image-20220604224521816

3.3 存储引擎

3.3.1 存储引擎-InnoDB

image-20220604224534066

3.3.2 存储引擎-Buffer Pool

image-20220604224543793

image-20220604224553427

3.3.3 存储引擎-Page

image-20220604224606589

3.3.4 存储引擎-B+ Tree

image-20220604224627793

3.4 事务引擎

image-20220604224638627

3.4.1 事务引擎-Atomicity与Undo Log

image-20220604224648241

3.4.2 事务引擎-Isolation与锁

image-20220604224709410

3.4.3 事务引擎-Isolation与MVCC

image-20220604224720317

3.4.4 事务引擎-Durability与Redo Log

image-20220604224731386

4. 企业实践

4.1 春节红包雨挑战

image-20220604225514821

4.2 大流量-Sharding

image-20220604225524692

4.3 流量突增-扩容

image-20220604225537372

4.4 流量突增-代理连接池

image-20220604225551044

问题背景

  • 突增流量导致大量建联
  • 大量建联导致负载变大,延时上升

解决方案

  • 业务侧预热连接池
  • 代理侧预热连接池
  • 代理侧支持连接队列

实施效果

  • 避免DB被突增流量打死
  • 避免代理和DB被大量建联打死

4.5 稳定性&可靠性

image-20220604225603018

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

image-20220604225910132

4.5.2 稳定性&可靠性-HA管理

image-20220604225918444

课程总结