孟凱 雷平 禹熹
關鍵詞:數(shù)據庫變更;健康檢查;變更評審;指標驅動
1技術背景
目前,研發(fā)部門對于數(shù)據庫設計的重視程度比較高,特別是在金融行業(yè),研發(fā)部門配備集中的數(shù)據庫變更評審小組進行數(shù)據庫設計把關[1]。通過對相關技術方案以及配套流程進行調研,本文梳理出目前數(shù)據庫變更設計評審過程中主要遇到如下挑戰(zhàn)。
(1)缺乏高效協(xié)作。數(shù)據庫建模過程、變更評審流程、研發(fā)管理流程關聯(lián)不足,參與各方的信息共享成本較高,導致數(shù)據庫變更效率不高。
(2)數(shù)據庫設計門檻高。目前,組織采用專門的數(shù)據庫建模軟件進行數(shù)據庫建模及管理,由于軟件的專業(yè)性特點,對數(shù)據庫管理人員具備的知識和技能要求較高。
(3)評估標準不統(tǒng)一。根據業(yè)務場景不同,通常組織內系統(tǒng)會采用多種數(shù)據庫產品,且隨著產品版本迭代,各產品的設計規(guī)范、最佳實踐有所區(qū)別,對評審人員的技術、經驗有較高要求。另外,數(shù)據庫變更類型較多,評審規(guī)則、風險識別標準不一,導致評審的成本較高,質量也不高。
(4)缺乏全局影響性評估。在較短的時間內進行數(shù)據庫變更設計,對整個數(shù)據庫系統(tǒng)影響性未知,對有血緣關系的系統(tǒng)的影響性缺少分析手段。而且,由于應用系統(tǒng)調整導致的數(shù)據庫問題捕獲成本較高,往往在上線后才被發(fā)現(xiàn),可能帶來較嚴重的生產問題。
為了解決這些問題,本文提出了一種高度靈活配置、自動化評審、整體健康評估的數(shù)據庫設計評審方案,通過嵌入現(xiàn)有研發(fā)流程,實現(xiàn)對數(shù)據庫變更的規(guī)范檢查、風險評估、影響性分析,并對整體數(shù)據庫的健康情況進行實時分析。
2設計思路
本文通過與建模元數(shù)據信息對接,實現(xiàn)可兼容主流關系型數(shù)據庫變更評審的統(tǒng)一平臺。本方案從數(shù)據庫變更角度和全庫整體角度出發(fā),通過分類可配置的變更評審規(guī)則,實現(xiàn)跨數(shù)據庫類型的規(guī)范設計檢查、變更風險提示、影響性分析功能;建立數(shù)據庫監(jiān)控組件,對數(shù)據庫對象設計、熱點SQL語句、配置參數(shù)層面進行全面、實日寸監(jiān)控。另外,基于元數(shù)據信息,通過大數(shù)據庫配置信息及數(shù)據轉移配置工具,建立跨系統(tǒng)間元數(shù)據表級血緣關系,擴大變更影響評估范圍。
2.1建立數(shù)據庫變更評審門戶,打通流程斷點
為保證數(shù)據庫變更設計、評審、版本發(fā)布等流程的暢通,在原數(shù)據庫設計評審流程的基礎上,建立了數(shù)據庫變更評審平臺,對接建模平臺、組織研發(fā)流程平臺,同步系統(tǒng)信息、建模數(shù)據、數(shù)據字典、驗證環(huán)境信息,實現(xiàn)數(shù)據庫變更流程的一站式服務平臺[2]。通過各個平臺的數(shù)據同步及接口開發(fā),進一步實現(xiàn)數(shù)據庫變更申請、數(shù)據庫變更評審及版本提測流程平臺化,幫助數(shù)據庫設計人員及評審人員有效地處理數(shù)據庫變更任務、跟蹤任務狀態(tài)、統(tǒng)計變更信息。圖1為變更評審平臺示意圖。
2.2規(guī)范數(shù)據庫設計建模,提高建模效率
在實際使用的過程中,設計人員普遍反饋數(shù)據庫建模的時間成本較高.對建模軟件的熟悉程度和對數(shù)據庫設計規(guī)范的理解程度影響建模的效率。因此,本文對此做了兩處優(yōu)化。
(1)通過導人梳理詞根、業(yè)務術語等數(shù)據字典,引用智能匹配識別組件,實現(xiàn)建模輸入信息檢查,為數(shù)據庫設計人員提供元數(shù)據定義輔助功能,對建模數(shù)據根據規(guī)范與錄入要求做提前檢查,減少建模溝通成本。
(2)梳理ER建模相關屬性,通過ER建模標準模型定制開發(fā)建模批量工具,通過建模接口實現(xiàn)建模元數(shù)據批量錄入模塊。此場景適用于系統(tǒng)集或新建大型系統(tǒng)數(shù)據庫設計,可通過數(shù)據庫設計文檔、元數(shù)據清單的輸入自動轉換為ER模型,對接元數(shù)據規(guī)范輸入預檢工具,實現(xiàn)批量建模檢查、批量建模導入,滿足大規(guī)模建模需求,提高建模效率。
2.3實現(xiàn)自動化變更評審,提升評審質量
為保證數(shù)據庫建模的統(tǒng)一標準和質量,須針對不同的變更類型(圖2),從不同的影響性角度進行評審[3-4]。為了更有針對性地對DDL變更進行評審,本文對變更類型進行分類,并將評審規(guī)范和影響性評估抽象成指標,針對每一類語句,制定評審指標集合,逐項進行過濾檢查,既提高了檢查效率,也確保評審的標準和質量一致。對于不同的數(shù)據庫產品,參考各產品的限制及最佳實踐,形成按產品版本、變更類型等維度分類的評審規(guī)則庫,支持各變更評審流程中動態(tài)選擇評審套餐,實現(xiàn)標準化、可配置的評審功能。
2.4數(shù)據庫健康分析監(jiān)控組件
通過數(shù)據庫變更評審平臺,實現(xiàn)以數(shù)據庫變更為任務單元的評審工作(圖3),圍繞變更內容進行審核和風險評估[5-8]。然而,數(shù)據庫系統(tǒng)提供服務,是由DML語句進行驅動的,數(shù)據庫的表現(xiàn)如何,是否有性能上的或者故障隱患,離不開整體的運行環(huán)境——硬件、參數(shù)、事務、語句、索引、表數(shù)據量、場景、流量壓力、數(shù)據庫產品特性等。為滿足此類需求,需要實現(xiàn)數(shù)據庫綜合健康分析的能力。結合組織設計規(guī)范、業(yè)務場景及最佳實踐,通過“Prometheus+Grafana”方案,配置數(shù)據庫健康分析監(jiān)控組件。該組件除了實現(xiàn)SQL審核、靜態(tài)對象分析、設計規(guī)范檢查、配置參數(shù)檢查外,最大的特點是通過收集數(shù)據庫運行信息,對數(shù)據庫運行情況進行分析,其中包括熱點SQL分析、全表掃描語句分析、未使用索引分析、長事務分析等,并可根據數(shù)據庫的不同使用場景,定制不同閾值的檢查模板,實現(xiàn)個性化檢查任務。
2.5外圍服務組件
通過分析、加工來自各平臺的信息,實現(xiàn)開發(fā)、設計人員關心的數(shù)據庫服務。
(1)通過圖數(shù)據庫,建立表級數(shù)據庫系統(tǒng)血緣關系,幫助設計人員及評審人員快速分析變更的影響性。
(2)實現(xiàn)生產、研發(fā)環(huán)境數(shù)據庫DDL代碼基線快速比對功能,保證生產環(huán)境、研發(fā)代碼庫代碼的一致性。
(3)實現(xiàn)數(shù)據字典快速搜索功能。
(4)實現(xiàn)數(shù)據庫設計文檔生成及下載。
(5)通過語義分析,實現(xiàn)增量數(shù)據庫變更SQL生成功能,集成測試環(huán)境進行一鍵測試。
3結束語
本文首先介紹研發(fā)過程數(shù)據庫變更評審現(xiàn)狀以及面臨的問題:其次分析現(xiàn)有技術背景和業(yè)界技術方案,并結合自身實際引導出本文設計思路;最后推導出本文提供的解決方案。
本文通過優(yōu)化流程,建立了基于規(guī)則指標的數(shù)據庫變更評審工具以及健康分析組件,大大提高了研發(fā)過程中變更評審質量和效率,并協(xié)助各業(yè)務系統(tǒng)檢查設計中存在的問題及隱患,使設計缺陷率大為降低及生產事件大大減少。
未來,計劃在現(xiàn)有技術的基礎上,精煉優(yōu)化評審規(guī)則,根據歷史評審數(shù)據及生產事件,提取評審要素,實現(xiàn)數(shù)據庫健康準確把脈。另外,為了與多平臺適配推廣,計劃將進一步實現(xiàn)服務模塊化,為數(shù)據庫設計人員提供更方便、高效的服務。