美团万亿级数据库稳定性保障
如果无法正常显示,请先停止浏览器的去广告插件。
1. 美团万亿级数据库稳定性保障
美团基础技术部
2. 个人介绍
基础架构部 数据库研发中心
黄潇,2015年加入美团,10+年DBA、DevOps经验
金服DBA团队负责人
《深入浅出MySQL》和《TiDB In Action》的作者
2020届 TUG Beijing Leader
3. 大纲
01 数据库稳定性保障难题
02 事前:隐患运营 + DBCHAOS演练
03 事中:DAS智能诊断 + 预案止损
04 事后:COE故障复盘
05 数据库未来的演进架构
4. 1.1 业务高速增长,MySQL规模持续扩大
相比2020Q1,2021Q1的读写
请求增长了2倍
5. 1.2 大规模场景下,小概率事件成为常态
PCIE SSD故障率 3‰
物理机宕机率 2‱
6. 1.3 业务架构持续迭代发展
• 读写分离 -> 水平/垂直拆分 -> SET化
主库
从库
从库
7. 1.4 美团数据运维发展历程
• 2021年关键词:体系化
多AZ高可用、机房级别容灾管控、无通知演练
建设标准化、服务化、数据化的数据库运维体系
…
体系化
8. 1.5 数据库稳定性保障的体系化闭环
9. 大纲
01 数据库稳定性保障难题
02 事前:隐患运营 + DBCHAOS演练
03 事中:DAS智能诊断 + 预案止损
04 事后:COE故障复盘
05 数据库未来的演进架构
10. 2.1 隐患运营 - 运营体系
• 产品说明
基于规则检测和少量预测数据库存在的隐
患,并通过运营,将隐患数量控制在极低数
量,降低已知风险
• 治理策略
预测预警:FailOver转SwitchOver
平滑治理:服务化、无感知
• 运营维度
面向RD:慢查询、大表治理等
面向DBA
11. 2.1 隐患运营 - 指标建设
• 面向DBA:规则+预警
非核心隐患(46)
专项治理(9)
核心隐患(53)
• 面向RD
先知隐患:低/中/高
运维周报:健康打分
12. 2.1 隐患运营 - 运维周报
13. 2.2 没有不宕机的数据中心
14. 2.2 DDTP容灾管控平台 - 全景图
• Database Disaster Tolerance Platform
• DDTP是应对大规模数据库故障而建设的,集故障演练、预案签署、容灾管控于一体的容灾平台
• DBChaos 数据库攻防演练平台是DDTP的核心抓手,推进演练的自动化、常态化、精细化、周期化
15. 2.2 DDTP容灾管控平台 - DBChaos(1)
• DBChaos 目前支持5类故障场景,8种注入方式,支持多集群多场景的故障编排
主库宕机:iptables 封禁端又/实例夯住 (SIGHUP)/实例内部故障/强杀实例
主库I/O夯死:通过CGroup模拟磁盘故障导致的写入Hang
从库宕机:正常关闭从库
从库延迟:从库延迟N秒 (master_delay)
从库并发数高:模拟慢查询触发Thread Running高
16. 2.2 DDTP容灾管控平台 - DBChaos(2)
• 演练前
风险评估、二级审批、
大象周知
• 演练中
风险复核、并发控制、
一键终止
• 演练后
复盘报告
17. 2.2 DDTP容灾管控平台 - DBChaos(3)
18. 2.2 DDTP容灾管控平台 - DBChaos(4)
• 案例一:主库宕机
演练结果:高可用生效,但业务仍在收到服务失败告警
共性问题:连接保活,你还在使用 autoReconnect?
• 案例二:主库宕机
演练结果:高可用生效,但选举的新主库非预期 (复盘链接)
共性问题:选举策略受AZ优先策略影响,未选择最合适的新主
• 案例三:主从延迟
演练结果:业务未兼容SLA阈值内的延迟,业务逻辑上出现死锁
共性问题:实时性要求高的业务未选择访问主库读取
19. 大纲
01 数据库稳定性保障难题
02 事前:隐患运营 + DBCHAOS演练
03 事中:DAS智能诊断 + 预案止损
04 事后:COE故障复盘
05 数据库未来的演进架构
20. 3.1 DAS智能诊断 - 全景图
21. 3.1 DAS智能诊断 - 功能展示
22. 3.2 预案编排服务
• 预案的优先级:概率优先、生效时间、是否有损、复杂度
• 预案的三板斧:限流、切换、下流量
23. 大纲
01 数据库稳定性保障难题
02 事前:隐患运营 + DBCHAOS演练
03 事中:DAS智能诊断 + 预案止损
04 事后:COE故障复盘
05 数据库未来的演进架构
24. 4.1 COE复盘分析工具
• Correction Of Errors 纠正错误
• 5Why分析法追问根因
为什么会发生?从“制造”的角度
为什么没发现?从“检验”的角度
为什么没有从系统上预防事故?从“体系”或“流程”的角度
• 待办任务
将根因和待办任务结合总结出具体Todo事项,落实到人
25. MySQL DBA面临的痛
查询不到
使用了读写分离,刚更新的数据,
来不及扩容
活动上线,容量评估不足,压力陡增,数据库
时间长 、 数据写花
主库事后,高可用切换
超过3T ,没时间分库分表改造
容量即将
中断 ,1236、1042错误
主从复制经常
1T 数据的备份或恢复 ,要数小时
成本压力大
机器硬件
26. 大纲
01 数据库稳定性保障难题
02 事前:隐患运营 + DBCHAOS演练
03 事中:DAS智能诊断 + 预案止损
04 事后:COE故障复盘
05 数据库未来的演进架构
27. 5.1 存储计算分离架构 - Aurora(2015发布)
• 架构创新:由底层的存储系统完成数据和日志的管理,降低磁盘写入I/O (The Log is the database)
• 部署架构:3AZ部署、每个AZ2个副本、一致性约束Vw=4、Vr=3、一写多读、共享存储
Vr + Vw > V 同时 Vw > V/2
28. 5.2 原生分布式数据库 - OceanBase(From 2010)
• 设计原则:Paxos协议、Shared-Nothing架构、分区级高可用、分布式事务、基于LSM-Tree存储引擎
29. 5.3 Cloud Native、软硬件一体化设计 - PolarDB(From 2016)
• 设计原则:存储计算分离、全用户态零拷贝、ParallelRaft乱序提交、大量使用新硬件
• 架构设计:一写多读,数据和Redo日志使用共享分布式存储,RW节点和RO节点通过LSN通信
30. 5.4 Cloud Native、分布式、HTAP - TiDB(From 2015)
• 设计原则:存储计算分离、Multi-Raft、HTAP、云原生
• 架构特点:多点写入、Pecolator事务模型、兼容行/列存的HTAP、云原生分布式数据库
31. 5.5 美团自研分布式数据库 - Blade(我们在路上)
• 设计原则:自研存储层兼容SQL层协议、自研长稳和集成测试体系
• 架构特点:存储计算分离、Cloud Native、弹性扩缩容、金融级一致性
32. Q&A
33. 更更多技术干干货
欢迎关注“美团技术团队”
扫描直达
美团数据库研发中心心招聘