《专场19.1-服务vivo数亿用户的数据库服务平台实践-邓松(脱敏版).pdf》由会员分享,可在线阅读,更多相关《专场19.1-服务vivo数亿用户的数据库服务平台实践-邓松(脱敏版).pdf(27页珍藏版)》请在三个皮匠报告上搜索。
1、服务vivo数亿用户的数据库平台服务实践邓松 vivo互联网 云平台架构师01规模&架构03数据库运维效率建设02数据库可用性建设04隐私数据治理05数据库成本优化06未来展望规模10人DBA数万数据库实例广泛的微服务架构的应用,以及服务在数据层面独立的原则,导致数据实例成倍增加。8个数据库品类MySQL,Redis,MongoDB,TiDB,Elasticsearch,磁盘KV,对象存储,文件存储开源工具生态成熟度参差不齐,需自研满足人均运维超过数千实例,日常面对至少超过数千研发者,常规工作量大。平台化运维是必然之路规模化是挑战也是动力产品架构01规模&架构03数据库运维效率建设02数据库可
2、用性建设04隐私数据治理05数据库成本优化06未来展望数据库可用性建设-问题分类天灾不可抗力机器,机架级故障区域级故障机房级故障人祸研发类&运维类客户端配置不合理,慢SQL等研发使用数据不合理问题非标准运维操作问题DB高可用,跨机器,机架分配灾备实例,跨机房实例远程备份,数据同步调用链客户端配置管理,SQL治理标准运维平台化数据库可用性建设-自研MySQL高可用架构开源数据库中MySQL高可用需要自研自研proyx,同时基于zk和orchestrator 改造成为规模化的高可用控制中心Proxy,MySQL单节点故障支持自动恢复数据库可用性建设-数据变更标准化建设标准数据变更三板斧提前语法检测
3、,数据检测变更保持对数据库可用性低影响,可根据负载控制变更支持回滚数据库可用性建设-SQL治理治理思路全链路治理上线前SQL扫描上线后慢SQL跟踪01规模03数据库运维效率建设02数据库可用性建设04隐私数据治理05数据库成本优化06未来展望数据库运维效率建设实践现状92%运维工作量节省数据库运维操作和数据变更都通过工单形式记录和审批执行,月均数千工单量,92%都实现了无需运维人员参与,用户自助执行70%故障告警自动分析70%的数据库告警实现自动分析或者处理,进一步解放DBA人力。大规模数据库实例高效运维工单自助替代手工或者脚本操作。用代码的方式,将最佳的运维经验固化在平台中通过工单流精确量化
4、运维工作场景,而只有成功率达到99%以上一般才可以开放自助常见Redis等数据变更自助需要补齐生态工具,确保变更对业务无影响,变更均可回滚大规模数据库实例高效运维故障自愈专家经验式故障自愈方案自研基础能力常见数据库故障场景不到50个暂时不用AI分析通过枚举也能有效显著提升故障处理效率 简单实用Redis流量分析热点key分析MySQL根因SQL分析等关键故障分析工具每日数百故障告警故障定位最耗时大规模数据库实例高效运维故障自愈架构告警驱动故障自愈系统分配通知分析中心预案库基础操作读取调用生成SQL根因分析Binlog清理Redis热Key分析现场快照分析结果案例标注70%故障自动分析或者自愈3
5、0个基础操作建设26个故障预案10个故障场景全自动处理规则匹配审批管理01规模03数据库运维效率建设02数据库可用性建设04隐私数据治理05数据库成本优化06未来展望个人隐私数据全链路保护现状超千万个字段100%隐私数据识别覆盖涉及四种数据库MySQLMongoDBElasticsearchTiDB数十完成在线数据库约有万张“表”人工抽查识别准确度79%平台为隐私数据提供了公共的加密服务,减轻了因为隐私数据加密带来的研发和运维工作量。MySQL支持透明加密千万级字段识别统一数据库建表入口,同时提供平台工具便于用户对隐私数据字段进行标记扫描全网表结构数据,自动识别未标记的隐私数据数据导出隐私数据
6、时自动加密,并添加水印个人隐私数据全链路保护功能详情数据查询结果中包含隐私数据自动加密显示个人隐私数据全链路保护最后的防线:数据库加密存量业务数据加密:对业务无损透明的加解密方案通过对业务数据库近乎无损的增减字段的方式清洗旧的明文数据无损透明加密流程gh-ostVSQL Proxy数据库平台(DaaS)回收完成回收明文工单选择字段配置加密存量清洗工单是否存量是数据清洗完成添加密文列去除明文更新字段加密配置生效否配置加密平台操作入口,配置信息保存之地自研MySQL透明加解密的proxyMySQL代理(VSQL Proxy)表结构变更工具(gh-ost自研版)数据库平台(DaaS)01规模&架构0
7、3数据库运维效率建设02数据库可用性建设04隐私数据治理05数据库成本优化06未来展望数据库资源弹性管理现状&问题从数量上看,线上数据库数万个实例,大部分是REDIS,一部分是MySQL,剩下少部分是其它数据库。传统数据库占主流无容器化物理机直接部署传统数据库占主流资源隔离得另想办法。对于Redis等传统数据库来说,容器化也不能解决其弹性伸缩的速度和稳定性问题,只能从数据库软件本身上去解决。无容器化超过PB级数据直接部署在数千台物理机上,数据库成本问题更加敏感物理机直接部署数据库资源弹性管理实践展示资源分配单机器多实例多版本多套餐混合部署同类数据库资源池统一计算节点混合部署弹性伸缩自研多线程R
8、edis Cluster扩缩工具,大key巡检,历史负载检测,脑裂检测等功能尽量增加扩容稳定性。自研redis slot级迁移基于流量审计的无效存储优化低利用率优化资源隔离程序配置控制实现隔离通过巡检和容量预测的方式实现软隔离数据库资源弹性管理无效数据优化主要建设品类:MySQL数据库资源弹性管理套餐自动优化主要建设功能:MySQL,MongoDB,Elasticsearch套餐自动降配;开始平台自动判定集群是否满足缩容条件自动发起工单业务项目经理审批平台自动执行结束满足同意驳回不满足超千次自动缩容百T+节省空间01规模&架构03数据库运维效率建设02数据库可用性建设04隐私数据治理05数据库成本优化06未来展望统一标准,开源共建未来展望