《專場21.4-基于人工智能技術的數據庫故障診斷最佳實踐-李忠良.pdf》由會員分享,可在線閱讀,更多相關《專場21.4-基于人工智能技術的數據庫故障診斷最佳實踐-李忠良.pdf(31頁珍藏版)》請在三個皮匠報告上搜索。
1、基于人工智能的數據庫故障診斷技術李忠良+中興通訊+高級系統架構師個人介紹李忠良 中興通訊 高級系統架構師現任中興AI算法團隊技術負責人,先后研發了磁盤故障預測、數據庫智能索引推薦、網絡智能化等技術,對AI4DB有濃厚興趣。秘密目錄CONTENTSn技術背景技術背景nEBASE智能故障診斷方案智能故障診斷方案n分段式故障識別關鍵技術分段式故障識別關鍵技術n實驗效果實驗效果n未來工作未來工作Part 1Part 1技術背景業界相關數據庫產品情況n云原生、分布式、HTAP是數據庫未來架構演進趨勢n數據庫智能運維管理組件已經成為數據庫的基本標配組件華為騰訊阿里中興服務7*24客戶服務、數據庫專家服務、
2、云API管理套件l 數據管理DASl 數據復制DRSl 數據庫安全DBSSl DB Brainl 數據傳輸訂閱l 備份恢復l 容災l 數據安全l DMSl HDMl DASl DTSl ADAMl DBSl 數據管理UIOMl 數據遷移l 數據備份l 異地容災引擎產品NoSQLl DCSl Redisl Redis/Memcachel TcaplusDBl Tairl Redis/Memcachedl DCachel RedisOLTPl Taurus(云原生)l GaussDB(openGauss)l MySQL/PGl TDSQL-C(云原生)l TDSQL(MySQL)l MySQL/M
3、ariaDB/PGl PolarDB(云原生高可用集群)l OceanBasel PolarDB-X(云原生分布式)l MySQL/PG/MariaDBl GoldenDBl EBASE-Tl EBASE-C(云原生)OLAPl GaussDB(DWS)l TDSQL-Al AnalyticDBl EBASE-AHTAPl 在OLTP、OLAP中增強l TDSQL(PostgreSQL)l HybridDB圖DBl GES圖數據庫l TGDBl GDB圖數據庫l 螞蟻金服GeaBasel EBASE-G時序DBl GaussDB(for Influx)l openGemini(開源版本)l C
4、TSDBl Lindorm TSDBl 時序數據庫 InfluxDB 版l EBASE-TS數據庫技術發展趨勢數據庫架構創新技術數據庫新硬件加速技術數據庫智能優化技術異構計算專用硬件、獨立內核、異構計算、專用硬件、獨立內核、異構計算、FPGA加速加速GPU眾核SIMD加速MISDPCIe DirectPM加速FPGA查詢優化NVMe SSD內存訪問加速內置AI引擎性能加速、降低運維成本、提升系統可靠性性能加速、降低運維成本、提升系統可靠性學習型索引查詢優化代價估計智能執行外置AI引擎智能調參負載預測故障診斷SQL優化云原生HTAP超融合、云原生、數據庫超融合、云原生、數據庫Serverless
5、單主共享多主共享分布式存算分離HTAP向量化執行存儲適配行列自動轉換智能調度基數估算任務優化智能索引故障預測內存分離硬件加速多Master并行雙擎合一PM訪問加速DRAM結合NVM存儲加速PM訪問優化因新硬件快速發展,數據規模大幅增長,數據庫云化趨勢顯著、硬件提升性能趨勢顯著、AI賦能優化趨勢顯著AI4DB:將AI Native技術應用于數據庫內核實現目前業界研究熱點:Oracle Self-Driving Datebase、華為GaussDB AI Native、騰訊、阿里、百度等對數據庫AI技術都有深度研究和應用智能數據庫技術藍圖異構硬件(GPU&CPU&TPU&NPU)Tensorflo
6、w、Pytorch、MADLibAI框架外置引擎參數調優索引推薦故障診斷負載預測自愈框架故障自動修復內置引擎AI新型索引AI物化視圖AI代價估計AI分布估計算法GCN/GraphSage/GATDDPG/AC3/DPPOLR/DTree/LightGBMLSTM/prophet/TCN數據數據采集數據統計數據標注資源智能調度數據清洗學術相關工作數據典型方案優點缺點基于指標數據的OS資源消耗、負載、查詢明細,包含時間,耗時,具體的SQL,使用的查詢計劃、OS和DBMS的配置參數,環境變量,kernel的參數,數據庫server的參數,網絡配置,相關驅動DBSherlock 1、FluxInfer
7、2、Dundjerski3異常類型全、包含專家經驗,可解釋性好遷移能力差,數據獲取成本高基于日志數據的正常日志作為負樣本、異常日志作為正樣本,日志中提取時間、狀態、事件信息Distalyzer4、Sentinel5采集數據成本降低遷移能力差,負樣本搜索空間太大基于時間分析的數據庫時間(處理用戶請求各節點所花費的時間、使用和等待資源的時間)數據ADDM6、ProtoXplore7考慮了故障的時序特征信息模型遷移能力差n性能監控數據信息豐富,但條目繁多,分析難度相對較大n不良負載、不良索引、不良參數、資源瓶頸等故障,缺少告警信息與日志信息,診斷難度相對較大,對業務性能影響顯著n性能故障的診斷在實踐
8、中更有意義面臨的挑戰異常數據樣本非常少l很多性能問題不會產生告警日志l很多性能問題發生時間非常短,狀態指標監控數據不一定能捕捉到l穩定的生產環境故障很少發生采集數據樣本成本高l采集數據對系統性能或多或少會產生開銷l生產環境日志級別一般較高,這些日志數量較少,一般不足以定位故障l大表并且復雜查詢產生大開銷OLTP和OLAP差異大l現象差異很大,但是原因可能相同例如慢查詢的執行時間和資源的監控數據兩者差異很大,但是可能是由相同的根本原因引起的,比如都是因為糟糕的索引設計和死鎖。Part 2Part 2EBASE智能故障診斷方案解決思路現代數據庫系統結構龐大而復雜,運維工作量與難度較大其中,數據庫故
9、障對生產環境的效率、穩定性具有重要影響現有故障檢測方法對運維要求較高,效果有待提升人工排查:依賴于人力、經驗,效率低下手動觸發巡檢:滯后性基于閾值的自動告警:容易產生誤報、遺漏基于歸因、聚類算法的相關研究:功能局限,效果有提升空間AI技術發展,廣泛應用于業界考慮設計基于AI的故障檢測算法 目標:提高告警精確率與召回率,減輕運維壓力,提高業務性能基于專家篩選的監控指標基于融合機器學習算法模型樹形算法結構分段式識別基于告警實時觸發診斷數據庫故障帶來損失太大數據庫監控指標太多專家DBA成本太高現有手段效果太差技術架構數據采集系統EBASE/PG/MySQL等數據庫UIOM統一運維前臺界面通過普羅米修
10、斯數據采集系統來采集數據庫監控數據,UIOM進行智能診斷,診斷結果顯示在前臺界面,同時通過干預實現數據庫故障自愈??蚣茉O計樣例數據庫故障復現benchmark數據采集工具在線診斷離線訓練真實業務數據庫故障檢測模型訓練數據現場數據采集訓練采集生成輸入診斷結果記錄調整DBA交互反饋優勢分析16方法優勢:基于機器學習,具有良好的準確率和召回率基于時間序列模式進行預測,優于靜態指標等方法目前最佳模型在開源數據集上的平均準確率為0.988,召回率為1.0功能優勢:實時故障檢測診斷、故障預測自動監控,無需手動觸發,無需人工分析各項指標,界面友好對于突發性故障,及時診斷故障類型對于累積性故障,在發生嚴重問題
11、前進行告警系統優勢:額外性能開銷低機器學習模型在客戶端運行,對服務器的性能影響僅限于監控數據采集數據集構建17故障類型選擇不良負載:高并發插入;負載激增;表膨脹;鎖等待不良索引:索引缺失;索引過多不良參數:不良shared_buffers;不良work_mem資源瓶頸:CPU瓶頸;I/O瓶頸;內存瓶頸特點涵蓋數據庫常見性能故障故障表現均為查詢性能顯著下降,無告警信息與日志信息,診斷難度大及時發現上述故障,有利于數據庫業務性能提升數據集構建-數據18 日志數據:集群日志:包括proxy日志、corosync心跳等;Pod日志,操作系統日志,Paas平臺日志,PG公共服務管理日志性能監控數據:包括
12、CPU、內存、I/O、網絡等 例:cpu.usage,io.wait-usage生成數據:查詢語句信息、平均用時、調用次數、成功率等數據采集工具:數據庫系統:MaxScale等工具 容器:datadog等工具 操作系統:Sysmon等工具 Debug日志:可使用log4j2,spdlog等工具進行收集故障診斷業務流程UIOMDB用戶點擊start開啟容器開啟容器初始化完畢開始采集數據診斷發送診斷結果點擊stop銷毀容器銷毀容器PROXY DBUSER 首先用戶觸發在界面上點擊start訓練按鈕,后臺服務會給云平臺發送指令,云平臺會把UIOM容器和proxy容器(采集數據)啟動,兩個容器初始化完
13、畢后,UIOM會發送指令給proxy,proxy收到指令后開始采集數據,采集完的數據源源不斷發送給UIOM,UIOM開始診斷分析,診斷完后發送診斷結果給用戶界面顯示。當診斷任務完成,用戶點擊stop按鈕,UIOM容器和proxy容器通過云平臺銷毀。Part 3分段式故障識別關鍵技術故障診斷算法關鍵技術支持樹形結構判斷是異常后,先判斷異常大類,再判斷具體異常類型若屬于某大類,但不屬于其任何小類,則報告新類型實現:遞歸函數,深度優先搜索當前樹結構:2層根節點判斷是否異常,其余節點判斷具體異常類型擴展步驟:用大類標簽訓練大類模型;調整樹形結構故障診斷算法訓練流程采集數據TimeCpu DiskNet
14、.System16412138660.23584221.2235012.878.449.21216412138710.75374211.59842153.116.563.22116412138760.22490934.7674633.211.502.516label:故障類型一:”數據庫表膨脹故障”特征工程編碼、分箱、歸一化、標準化0.7244560.2344650.8422230.401278.0.4492120.6138710.7537740.7421150.321316.0.5632210.1521980.2242140.9093470.9633511.0.502516特征向量模型選型&
15、訓練LR、DT、Random Forest、XGBoost、LigntGBM評估模型精確率、召回率、F1最優模型添加到多模型框架故障診斷模型預測流程預測流程:1)采集數據與特征化流程同訓練流程。2)首先在前置分類模塊調用K個故障大類模型,預測出該故障屬于哪個故障大類,其次在該大類對應的故障模型下,比如預測出故障大類屬于普通故障,再調用M個普通故障類型,預測出具體屬于哪個普通故障。3)將結果輸出給用戶。通過界面顯示或者結果文件的形式通知給用戶。診斷數據故障判別無故障故障一故障十一11類故障診斷模型.故障類型未知故障輸入否是有模型判定為是無模型判定為是故障診斷模型泛化能力提升添加故障大類添加故障小
16、類Part 4實驗效果可視化監控指標數據圖(e)網絡阻塞圖(b)CPU飽和圖(d)不良JOIN查詢圖(c)鎖等待圖(a)可視化監控指標數據可視化監控指標數據測試準確率:訓練集:驗證集:測試集=7:2:1Part 5故障診斷未來工作故障診斷下一步工作診斷細粒度診斷細粒度算法模型優化算法模型優化增加易用性增加易用性聯動自愈聯動自愈參考文獻1Yoon D Y,Niu N,Mozafari B.Dbsherlock:A performance diagnostic tool for transactional databases.In:Proceedings of ACM SIGMOD Confere
17、nce,2016.15991614.2 Liu P,Zhang S,Sun Y,et al.Fluxinfer:Automatic diagnosis of performance anomaly for online database system.In:Proceedings of IEEE IPCCC Conference,2020.183 Dundjerski D,Tomasevic M.Automatic database troubleshooting of azure sql databases.IEEE Transactions on Cloud Computing,2020
18、4Nagaraj K,Killian C E,Neville J.Structured comparative analysis of systems logs to diagnose performance problems.In:Proceedings of USENIX NSDI Conference,2012.3533665Glasbergen B,Abebe M,Daudjee K,et al.Sentinel:Universal analysis and insight for data systems.In:Proceedings ofVLDB Endow,2020.272027336Dias K,Ramacher M,Shaft U,et al.Automatic performance diagnosis and tuning in oracle.In:Proceedings of CIDR Conference,2005.84947 Kalmegh P,Babu S,Roy S.Analyzing query performance and attributing blame for contentions in a cluster computing framework.CoRR,2017.abs/1708.08435