《專場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,對象存儲,文件存儲開源工具生態成熟度參差不齊,需自研滿足人均運維超過數千實例,日常面對至少超過數千研發者,常規工作量大。平臺化運維是必然之路規?;翘魬鹨彩莿恿Ξa品架構01規模&架構03數據庫運維效率建設02數據庫可
2、用性建設04隱私數據治理05數據庫成本優化06未來展望數據庫可用性建設-問題分類天災不可抗力機器,機架級故障區域級故障機房級故障人禍研發類&運維類客戶端配置不合理,慢SQL等研發使用數據不合理問題非標準運維操作問題DB高可用,跨機器,機架分配災備實例,跨機房實例遠程備份,數據同步調用鏈客戶端配置管理,SQL治理標準運維平臺化數據庫可用性建設-自研MySQL高可用架構開源數據庫中MySQL高可用需要自研自研proyx,同時基于zk和orchestrator 改造成為規?;母呖捎每刂浦行腜roxy,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未來展望統一標準,開源共建未來展望