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