G行數據倉庫數字化運維探索實踐
一、引言
《“十四五”國家信息化規劃》指出加快推進數字化轉型,是“十四五”建設網絡強國、數字中國的重要戰略任務。金融行業面臨全面的數字化轉型新契機,中國人民銀行《金融科技發展規劃》中指出深化金融數據要素應用,夯實數字基礎底座,發揮數據要素倍增作用。作為數字金融發展基建保障的基礎運維,其數字化轉型成為金融數字化轉型中必不可少的重要組成部分,必須予以重視。數據倉庫作為金融企業數據資產承載的核心部件,隨著業務數據的爆發式增長,業務場景呈現多樣化趨勢,數據倉庫運維管理面臨著新的壓力,如:
1.數據倉庫與傳統數據庫相比無有效綜合指標,無法快速判斷運行狀態;
2.單一倉庫集群不能承載全部業務,拆分功能集群面臨極大運維管理壓力;
3.數據倉庫各項資源管控粗放,無法實現精細管控、精準趨勢預判等;
4.數據倉庫采用分布式架構,組件眾多,規模龐大,事件處置,尤其是性能相關事件處置,分析定位困難。
為了更好的適應數據倉庫技術的發展趨勢,支持相關業務的發展,G行逐步深入數據倉庫運維數字化探索實踐,建立了數據倉庫全景運維數字化模型,多維度展示、維護、管理數據倉庫運行生態,強化平臺異常感知能力、精細化管理能力、資源調配能力、租戶服務能力等,全面提升數據倉庫的運維管理水平。
二、探針監測
G行數據倉庫采用國產MPP集群架構產品,承接數十個數據集市,上百個業務系統,是G行重要的數據資產承載系統。雖然業內數據倉庫多采用關系型數據庫,但是不同于傳統關系型數據庫可以通過TPS、QPS、IOPS等綜合指標來描述整體運行效率,數據倉庫場景下常規指標無法準確描述數據倉庫的運行狀態。通常數據倉庫運維關注數據倉庫整體運行狀態、壓力負載以及各計算實例狀態等,而在數據倉庫故障場景中,監控采集到的異?,F象,有明確的故障指向,更容易進行有針對性的進行分析定位,此類故障處置相對快速,而通過業務應用反饋的異常,通常不易處置,一是未知場景、運維監測未達,二是業務反饋描述易于理解但相對強調主觀感受,例如“慢了、快了”等。
G行數據倉庫運維打破固有思維,站在運維希望業務應用反饋哪些關鍵信息的角度,把業務反饋由“慢了”更換為“建立連接慢”、“任務分發處理慢”、“結果集反饋慢”等更清晰、更能輔助判斷定位的描述。結合運維經驗換位思考探尋快速便捷的判斷方式,首創探針機制。探針簡而言之就是模擬實際場景,探針絕不是一成不變的,而是根據業務場景特殊制定的。不同于具體業務,反饋一個結果,關注響應時間,探針不只是探測響應反饋時長綜合指標,更是標識探針探測過程中各項時間消耗明細:WAIT等待時長,CREATE CONNECTION建連時長,INSERT插入效率,DDL響應時長,ANALYZE執行效率等。探針輔以探針監測機制,實現數倉運維的綜合監測指標。探針不是絕對的,沒有固定的取值范圍,這個取決于業務應用背景以及數據倉庫集群的處理能力。因為探針依賴數據倉庫的業務場景,所以探針不可移植,但探針機制可以相互借鑒,屬于數據倉庫普適性綜合指標。
圖1 探針檢測與分析
探針監測可宏觀的判斷業務運行狀態,日常運維還需結合數據倉庫的實時運行視圖綜合判斷,對于某些特殊SQL引起的異常、亦或是節點響應慢等場景,探針監測機制無往不利。因為特殊SQL與探針數據的異常之間存在相關性,可以通過探針數據異常結合實時運行視圖,反推定位異常SQL,從而快速定位解決故障。同時,由于數據倉庫的業務場景和投產周期相對的固定,一個投產周期內的探針表現情況會相對固定,所以基于探針的時點同比,可以判斷數倉整體運行狀態,當實時探針發生較大偏差,也可以提前介入進行定位處置。基于探針機制,G行數據倉庫運維能夠更快的感知、定位、處置異常,從而降低業務影響、保障業務運行。
三、動態調控
隨著業務的發展,單一的數據倉庫集群已經不能滿足業務的需求,銀行業大多都采用拆分功能集群或業務拆分的方式,實現數據倉庫集群壓力分散。G行數據倉庫采用一主多輔的功能集群配置架構模式,主集群主要完成全行批量加工,業務數據處理,監管報送等重要批量任務處理工作,輔助功能集群分別為報表結果集查詢、數據備份、靈活查詢、數據挖掘等功能集群。同時主集群承擔向各個功能集群進行同步數據,保障數據一致任務。
圖2 數據倉庫功能定位
G行數據倉庫為了滿足相關業務的高效性,部分業務采用聯機訪問主倉的方式,這就出現一個混合場景。對于單一功能數倉集群而言,完成滿足數倉功能定位即可,G行數據倉庫主功能集群不僅承擔了批量任務還承擔了部分前端業務查詢。由于前端聯機業務查詢跟批量業務處理是完全不同的兩個作業場景,在同一環境運行無法做到絕對的資源隔離,所以盡可能避免沖突將兩個業務場景的運行時段進行拆分,做到不相互干擾,也正因如此G行有著行業內最早的結批時點。為滿足混合業務場景的高要求,G行通過數字化手段,增強調控精準保障業務運行。
01.資源調控
由于同一數據倉庫集群應對批量和聯機兩種不同業務場景,所以為保證不同時點的業務訴求,保證不同業務場景應用最優資源配置,根據具體使用情況采用自動調控的方式,調整資源配置,向高優先級業務傾斜,工作時間保證聯機業務查詢探索,非工作時間保證日批處理,分時段、分場景精準資源調控保證業務處理高效。
02.調度調控
探索根據集群資源消耗情況實時調整并發控制,達到時刻保持高水位運行,最大限度利用集群固件資源,提升業務處理效率。通過采集集群的各項資源使用情況,包括基礎資源消耗,集群并發數量,前端、批量并發配比等指標數據,建立實時動態調度調整的數據模型,調整不同種類任務調度,相同類別任務的并發分配占比等。
03.運行調控
數據倉庫批量業務場景相對穩定,任務都是經過非功、壓測等各種測試,整體任務運行穩定。但因為主集群承接混合聯機查詢業務場景,由于聯機查詢場景不可控,不可避免可能發生資源爭搶。當因系統資源發生爭搶,導致運行異常,大概率是因為前端的異常SQL查詢導致的,導致數據倉庫壓力激增,此時啟動自動運行調控機制,來最大限度的保證數據倉庫的運行穩定。經探索實踐自動調控機制大致歸為三個等級:一是自動查殺運行時間長,低效的聯機查詢;二是自動查殺前端全部查詢,快速釋放資源;三是極端場景應對,封禁全部聯機業務查詢。
四、數字畫像
為了更好的進行數據倉庫的運維管理,G行數據倉庫運維探索實踐中,建立數據倉庫的數字畫像并不斷的健全完善,數據倉庫數字畫像,借鑒業務部門的“客戶畫像”,依賴數據倉庫的數字畫像,不斷的挖掘數據倉庫運行的規律和特點,從而更加清晰的了解數據倉庫的運行,實踐過程中數據倉庫數字畫像大致分為兩類:一是數倉平臺的數字畫像,描述數據倉庫的運行規律和特點;二是數據倉庫的租戶數字畫像,描述數據倉庫上不同集市租戶的資源消耗和業務使用特點。
圖3 數據倉庫數字畫像
01.平臺畫像
宏觀的展示數據倉庫平臺的整體概況,從應用批量、基礎資源、數據庫使用情況等三個方面對數據倉庫平臺進行數字建模展示平臺畫像。其中,應用批量顯示批量任務變化,執行時長,完成度,同比、環比等;基礎資源展示存儲變化,傾斜異常,容量變化,日均消耗等;數據庫從連接數量,實例資源消耗,實時任務、任務等待,用戶資源分布、占比等多個角度展示數據庫庫資源分布。除展示的平臺宏觀數字畫像,還有通過各種維度觀測整理出更多平臺精細畫像,滿足日常不同角色管理人員對數據倉庫平臺的維護管理需求。
02.租戶畫像
功能定位是滿足數據倉庫平臺了解各集市租戶的運行特點,同時將租戶畫像通過自動推送的方式,推送對應集市管理人員,以便相關人員了解各自用戶數據倉庫上的資源消耗,同時方便各集市對其后續發展及目標定位更清晰。租戶畫像一方面通過描述用戶連接、實例資源占比,訪問總量,響應時長以及通過DDL、DML消耗占比等了解業務特點。另一方面通過表數量,數據量,并發數的變化趨勢了解業務發展趨勢,提前規劃應對數據倉庫租戶資源需求變化等。
數字畫像多維度的采集倉庫平臺及租戶的各項運行數據,通過數字建模的方式描述各類運行場景,對倉庫平臺的各項指標的趨勢監控,更好的監測平臺運行,做到不僅知其然而且知其所以然。通過租戶各項指標的運行監測,了解運行特點,對租戶進行精細劃分,根據租戶的運行特點不同,針對性定制管理策略,從而實現數據倉庫平臺的精細化管理。
五、異常感知
多年數據倉庫運維經驗得出,MPP架構數據倉庫集群具有典型的“木桶效應”特點,集群單點性能異常會導致整體性能下降。而此類性能下降成因主要分為兩類:一是計算傾斜,由于業務數據傾斜或統計信息不準,導致任務運行傾斜,數據倉庫集群資源未能充分利用;二是由于設備硬件老化等問題導致單點性能下降,此類性能下降一般不易察覺,通常由于影響業務反查,定位單點硬件異常、性能下降。為實現針對硬件老化等場景的異常提前感知,G行通過數據建模,采用針對基礎資源的流數據實時采集分析處理,大大提升了異常感知,做到了高效識別潛在風險故障,充分發揮數字化運維的特點,提升運維效率,多次避免了業務影響。真正做到了從“亡羊補牢”到“未雨綢繆”,提前發現并規避問題,防患于未然。通過不斷的探索實踐,G行實現了離群節點檢測、異常進程檢測、慢盤檢測等多種異常感知策略。
圖4 異常告警
01.離群節點監測
根據MPP架構及運行特點,采集CPU、內存、負載、連接等基礎資源信息橫向對比,經過建模運算實時監測集群內部節點和節點之間的資源消耗及其變化情況,探測異常推送管理人員提前介入處置。
02.異常進程監測
通過實時、周期采集節點進程消耗情況,分析進程TOP資源消耗,歷史資源消耗同比,節點進程資源消耗環比,校驗進程運行狀態,識別異常進程,探測異常推送管理人員介入處置。
G行為提升數據倉庫整體運維服務水平,借助日趨成熟的數字化技術,不斷提升運維管理的能力,除離群節點監測、異常進程監測等基礎資源的異常感知,還在應用、數據庫等多個層級設置了異常訪問告警、應用效率比檢測、慢盤監測、SQL殘留檢查等多項異常感知策略。
六、總結
IT業對金融系統生命周期和投入一般表述為“三分建設、七分運維”,由此可見運維在整個生產系統的建設、運行、維護、管理中充當重要的一環。數字化運維場景下,運維管理的基本職責不變,而有了數字化加持的運維管理不應只是保障系統的平穩運行,應承擔更多的職責。由于管理之間的壁壘,運維不可能去干預業務開展,但是運維作為生產運行一線,能更多的了解析生產運行特點、特性,資源消耗周期,增長趨勢等。我們常說實踐出真知,生產運維產生的數據才是生產運行的一手資料,相比于測試、預判都要更為準確,在此基礎上進行梳理、匯總、分析反向推動指導業務,能更好地推動業務穩健發展。運維數字化,為運維管理提供了新的發展方向,大有可為,未來可期。





























