云原生时代数据库运维体系演进
如果无法正常显示,请先停止浏览器的去广告插件。
1. 云原生时代数据库
运维体系演进
邓松 | vivo互联网云平台架构师
2. 01
云原生时代
数据库运维挑战 02
vivo大规模数据库
实例高效运维
04
vivo个人隐私
数据全链路保护 05
未来展望
03
vivo数据库
资源弹性管理
3. 数据库运维体系演进
2020s
后移动互联网+云原生时代
2010s
移动互联网+云计算时代
2000s
背景:云计算技术广泛应用,
PC互联网时代兴起
开源分布式数据库走向成熟
运维方式:人工平台操作
背景:商业数据库还是主流,
规模:数据爆发式增长
开源数据库方兴未艾
运维方式:人工+脚本 挑战:数据库资源交付如何做
规模:数据规模量相对不大 到效率高,稳定性好,成本底
挑战:商业数据库的软件硬成
本问题,开源数据软件不成熟
背景:微服务架构,资源弹性,
容器等云原生技术广为传播。
开源数据库成熟稳定。数据库
数量和品类都大增。同时个人
隐私数据保护日益凸显成为数
据库运维的时代重点。
挑战:?
4. 云原生时代数据库运维体系挑战
大规模数据如何
有效运维?
数据库如何弹性
伸缩?
个人隐私数据保护数
据库方面如何落地?
应用架构微服务化一般要 应用弹性伸缩,也要求数 开源数据库在这方面,即
求数据去中心化:数据库 据库更有效的资源管理。 也没有具体的落地方案,
实例数量因此成倍增加
没有提供专门的工具,都
效率上,快速扩缩,业务
无损
运维工作量因而更大
成本上做到有效利用,按
需按量使用。
开源数据库因为存算一体
架构问题一般支持上述两
点并不容易。
有待自己探索
5. 01
云原生时代
数据库运维挑战 02
vivo大规模数据库
实例高效运维
04
vivo个人隐私
数据全链路保护 05
未来展望
03
vivo数据库
资源弹性管理
6. 大规模数据库实例高效运维 实践现状
7万+ 92% 70%
数据库实例规模 运维工作量节省 故障告警自动分析
包含6种数据库: 数据库运维操作和数据变更都通过工单 70%的数据库告警实现自动分析或者
MySQL,Redis,MongoDB, 形式记录和审批执行,月均6000+工 处理,进一步解放DBA人力。
Elasticsearch,TiDB, 单量,92%都实现了无需运维人员参 自研磁盘KV 与,用户自助执行
数据来源:vivo
7. 大规模数据库实例高效运维 工单自助
替代手工或者脚本操作。用代 通过工单流精确量化运维工作 常见Redis等数据变更自助需
码的方式,将最佳的运维经验 场景,而只有成功率达到99% 要补齐生态工具,确保变更对业
固化在平台中 以上一般才可以开放自助 务无无影响,变更均可回滚
数据来源:vivo
8. 大规模数据库实例高效运维 故障自愈
专家经验式
故障自愈方案 自研
基础能力
常见数据库故障场景不到50个 Redis流量分析
暂时不用AI分析 热点key分析
通过枚举也能有效显著提升 MySQL根因SQL分析等
故障处理效率 简单实用 关键故障分析工具
每日400+故障告警
故障定位最耗时
数据来源:vivo
9. 大规模数据库实例高效运维 故障自愈架构
基础操作
70%
故障自动分析或者自愈
SQL根因分析
Redis热Key分析
Binlog清理
……
30个
基础操作建设
调用
告警驱动
故障自愈系统
读取
生成
分
析
中
心
现场快照
分析结果
26个
故障预案
案例标注
10个
分配通知
故障场景全自动处理
预案库
数据来源:vivo
10. 01
云原生时代
数据库运维挑战 02
vivo大规模数据库
实例高效运维
04
vivo个人隐私
数据全链路保护 05
未来展望
03
vivo数据库
资源弹性管理
11. 数据库资源弹性管理 现状&问题
传统数据库
占主流
从数量上看,线上数据库7万个实例,85%是
REDIS,10%是MySQL,剩下5%是其它数据库。
但是开源Redis的弹性伸缩并不如意。
传统数据库占
主流
对于Redis等传统数据库来说,容器化也不能解决
无容器化
其弹性伸缩的速度和稳定性问题,只能从数据库软件
本身上去解决。同时,资源隔离得另想办法。
无容器化
物理机
直接部署
物理机
直接部署
超过6PB数据直接部署在至少4000台物理机上,
数据库成本问题更加敏感
数据来源:vivo
12. 数据库资源弹性管理 实践展示
资源分配 弹性伸缩 单机器多实例多版本多套餐混合部署。 自研多线程Redis Cluster扩缩工具, 1、程序配置控制实现隔离
同类数据库资源池统一。 显著加速Redis Cluster扩缩容,同 2、通过巡检和容量预测的方式实现软
时增加限速,大key巡检,历史负载 隔离
检测,脑裂检测等功能尽量增加扩容
稳定性。
资源隔离
13. 数据库资源弹性管理 套餐自动优化
主要建设功能:MySQL,MongoDB,Elasticsearch套餐自动降配;
驳回
开始
平台自动判定
集群是否
满足缩容条件
满足
自动发起工单
业务项目经理审批
同意
平台自动执行
结束
不满足
1100+次 150T+
故障自动分析或者自愈 节省空间
数据来源:vivo
14. 01
云原生时代
数据库运维挑战 02
vivo大规模数据库
实例高效运维
04
vivo个人隐私
数据全链路保护 05
未来展望
03
vivo数据库
资源弹性管理
15. 个人隐私数据全链路保护 现状
在线数据库约有
70.5 万张“表”
总计有 1185 万个字段
100% 隐私数据识别覆盖
千万级
字段识别
涉及四种数据库
MySQL
MySQL
支持透明加密
平台为隐私数据提供了公共的加密服务,
减轻了因为隐私数据加密带来的研发和
运维工作量。
MongoDB
Elasticsearch
TiDB
人工抽查识别准确度
79%
数据来源:vivo
16. 个人隐私数据全链路保护 功能详情
统一数据库建表入口,同时提 扫描全网表结构数据,自动识 数据查询结果中包含隐私数据 数据导出隐私数据时自动加密,
供平台工具便于用户对隐私数 别未标记的隐私数据 自动加密显示 并添加水印
据字段进行标记
17. 个人隐私数据全链路保护 最后的防线:数据库加密
数据库平台(DaaS)
选择字段
配置加密
是
是否存量
存量清洗
工单
回收明文
工单
回收完成
配置加密平台操作入口,配置信息保存之地
表结构变更工具(gh-ost自研版)
存量业务数据加密:对业务无损透明的加解密方案
否
字段加密
配置生效
添加
密文列
数据清洗
完成
通过对业务数据库近乎无损的增减字段的方式清
洗旧的明文数据
去除明文
更新
MySQL代理(VSQL Proxy)
自研MySQL透明加解密的proxy
18. 01
云原生时代
数据库运维挑战 02
vivo大规模数据库
实例高效运维
04
vivo个人隐私
数据全链路保护 05
未来展望
03
vivo数据库
资源弹性管理
19. 未来展望
故障处理效率
01 02 03
专家经验式枚举
故障自愈 AI判断为辅
专家经验为主 AI判断为主
专家经验为辅
阶段一
阶段二
阶段三
20. 未来展望
01 02 03
阶段一 阶段二 阶段三
数据库混合
资源管理 数据库容器
混合资源管理 存算分离架构
数据库的资源管理
弹性资源管理
21. 未来展望
隐私数据治理
01 02
非结构化数据自动识别
和加密问题 提升自动隐私数据识别
准确度
22. 未来展望
23.