后端进阶8.22日课程总结 | 青训营

100 阅读2分钟

8.22日的课程主要分为三个部分:
1.RDBMS 基本情况介绍
2.RDBMS 关键技术分析
3.RDBMS 企业实践案例

课程综合题目:深入理解RDBMS

课程目录:1.经典案例
2.发展历史
3.关键技术
4.企业实践

1.经典案例:
事务的ACID特性:原子性,隔离性一致性,持久性
高并发,高可靠,

2.发展历史
1.前DBMS时代-人工管理,文件系统
2.DBMS(网状模型,层次模型,关系模型)
3.SQL语言(接近自然语言)

3.关键技术
1.SQL引擎:Parser(词法分析,语法分析,语义分析)
2.Optimizer:RBO(基于规则的优化),CBO(基于规则的优化)
3.火山模型,向量化,编译执行(Executor)
4.存储引擎:InnoDB(Buffer Pool,page,B+tree)
5.事务引擎:Atomicity和Undo log和Isolation和锁和MVCC与Durability和Redo Log

4.企业实践:
A.大流量问题:
1.单节点写容易成为瓶颈
2.单机数据容量上限

解决方案:业务数据进行水平拆分
代理层进行分片路由

实施效果:
数据库写入性能线性扩展
数据库容量线性扩展

B.流量突增问题:
活动流量上涨
集群性能不满足要求

解决方案:
扩容DB物理节点数量
利用影子表进行压测

实施效果
数据库集群提供更高的吞吐
保证集群可以承担预期流量

C.代理连接池:突增流量导致大量建联
大量建联导致负载变大,延时上升

解决方案:
业务侧预热连接池
代理侧预热连接池
代理侧支持连接队列
引入熔断限流,在代理侧设置最大连接数阈值,当连接数超过阈值时拒绝新的请求
增加冷备代理服务器,在主代理不可用时可以快速切换
业务采取积极限流,过载保护,丢弃非核心流量,保证核心交易正常

实施效果:
避免DB被突增流量打死
避免代理和DB被大量建联打死