【摘要】傳統(tǒng)金融行業(yè)的業(yè)務(wù)系統(tǒng)所采用的數(shù)據(jù)庫(kù),正在從老牌廠商的 Db2 、 Oracle 等逐漸過(guò)渡至開(kāi)源數(shù)據(jù)庫(kù)或國(guó)產(chǎn)新興的分布式數(shù)據(jù)庫(kù)。技術(shù)路線的變化同時(shí)也帶來(lái)了工作方式的轉(zhuǎn)變,傳統(tǒng)數(shù)據(jù)庫(kù)運(yùn)維人員在這一輪發(fā)展浪潮中會(huì)遇到哪些挑戰(zhàn)?如何應(yīng)對(duì)這些挑戰(zhàn)?
【作者】王旭叢,現(xiàn)任某金融機(jī)構(gòu)科技項(xiàng)目經(jīng)理,具備多年銀行核心系統(tǒng)運(yùn)維經(jīng)驗(yàn)和分布式技術(shù)實(shí)踐經(jīng)驗(yàn),長(zhǎng)期致力于私有云、分布式數(shù)據(jù)庫(kù)技術(shù)、智能運(yùn)維領(lǐng)域的研究和實(shí)踐。
一、概述
在現(xiàn)今云計(jì)算、大數(shù)據(jù)等新型技術(shù)推動(dòng)下,業(yè)界主流的應(yīng)用架構(gòu),正由松耦合、集中式的 SOA 架構(gòu)向解耦合、分布式的微服務(wù)架構(gòu)發(fā)展,運(yùn)維人員的工作方式也正在由煙囪式運(yùn)維、人工運(yùn)維向自動(dòng)化、流程化、平臺(tái)化、智能化運(yùn)維轉(zhuǎn)變。在“去 IOE ”、“自主可控”的技術(shù)和政策雙重背景下,傳統(tǒng)金融行業(yè)的業(yè)務(wù)系統(tǒng)所采用的數(shù)據(jù)庫(kù),正在從老牌廠商的 DB2 、 Oracle 等逐漸過(guò)渡至開(kāi)源數(shù)據(jù)庫(kù)或國(guó)產(chǎn)新興的分布式數(shù)據(jù)庫(kù)。技術(shù)路線的變化同時(shí)也帶來(lái)了工作方式的轉(zhuǎn)變,傳統(tǒng)數(shù)據(jù)庫(kù)運(yùn)維人員在這一輪發(fā)展浪潮中會(huì)遇到哪些挑戰(zhàn),以及應(yīng)該如何應(yīng)對(duì)這些挑戰(zhàn),這些問(wèn)題成為各位管理員們首先要思考的問(wèn)題。筆者結(jié)合自身工作經(jīng)歷整理了點(diǎn)滴感悟與各位分享。
二、新形勢(shì)下的挑戰(zhàn)
1、運(yùn)維成本大幅提升
傳統(tǒng)數(shù)據(jù)庫(kù)運(yùn)維人員面對(duì)的數(shù)據(jù)庫(kù)往往是各自獨(dú)立的。業(yè)務(wù)系統(tǒng)仍然是縱向隔離的狀態(tài),在煙囪式系統(tǒng)架構(gòu)中,每個(gè)業(yè)務(wù)系統(tǒng)都有自己獨(dú)立的數(shù)據(jù)庫(kù),我們?cè)诠芾磉@些數(shù)據(jù)庫(kù)的過(guò)程中,往往需要串行化操作。然而,我們的數(shù)據(jù)庫(kù)運(yùn)維團(tuán)隊(duì)規(guī)模還比較小,卻已經(jīng)承擔(dān)了幾百套數(shù)據(jù)庫(kù)的運(yùn)維,隨著業(yè)務(wù)系統(tǒng)數(shù)量越來(lái)越多、數(shù)據(jù)規(guī)模越來(lái)越大、交易復(fù)雜度不斷提升,如果仍按照傳統(tǒng)的數(shù)據(jù)庫(kù)單點(diǎn)運(yùn)維方式,勢(shì)必導(dǎo)致運(yùn)維時(shí)間成本和人力成本大幅攀升。
2、缺乏統(tǒng)一的“運(yùn)維大腦”
作為一家傳統(tǒng)金融行業(yè),業(yè)務(wù)系統(tǒng)都有各自獨(dú)立的數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)會(huì)被分派給指定的數(shù)據(jù)庫(kù)管理員運(yùn)維,這就導(dǎo)致每個(gè)人之間存在信息壁壘,無(wú)法對(duì)全部數(shù)據(jù)庫(kù)的運(yùn)行狀況形成全局視圖,缺乏統(tǒng)一的“運(yùn)維大腦”,無(wú)法進(jìn)行統(tǒng)一的數(shù)據(jù)庫(kù)分析和輔助決策,出現(xiàn)問(wèn)題時(shí)往往各自為政,大家各自查看自己負(fù)責(zé)的那些數(shù)據(jù)庫(kù),然后靠現(xiàn)場(chǎng)溝通互通有無(wú),運(yùn)維時(shí)效性難以保障。
3、運(yùn)維手段亟需豐富
在目前的煙囪式運(yùn)維時(shí)代,我們數(shù)據(jù)庫(kù)管理員有時(shí)間、有精力直接敲命令進(jìn)行運(yùn)維,例如安裝、巡檢、備份、升級(jí)、調(diào)參等基本工作,此時(shí)是“純?nèi)斯r(shí)代”;隨著數(shù)據(jù)庫(kù)數(shù)量的增加,再通過(guò)手工敲命令方式逐一操作各個(gè)數(shù)據(jù)庫(kù)已經(jīng)不再現(xiàn)實(shí),因此,我們開(kāi)始寫(xiě)腳本,放到服務(wù)器上自動(dòng)執(zhí)行,由操作系統(tǒng)完成腳本執(zhí)行,管理員只需讀取針對(duì)各個(gè)數(shù)據(jù)庫(kù)的腳本執(zhí)行結(jié)果即可,此時(shí)是“腳本時(shí)代”;然而,數(shù)據(jù)庫(kù)數(shù)量日益增長(zhǎng),即使逐一讀取腳本執(zhí)行結(jié)果也要消耗相當(dāng)大的精力,此時(shí)管理員們開(kāi)始借助 ansible 這類自動(dòng)化運(yùn)維工具批量管理數(shù)據(jù)庫(kù),只需讀取一次批量執(zhí)行結(jié)果即可,此時(shí)是“初級(jí)自動(dòng)化運(yùn)維時(shí)代”。然而,即使到了“初級(jí)自動(dòng)化運(yùn)維時(shí)代”,信息的終點(diǎn)還是“人”,需要由我們管理員做最終判斷,當(dāng)出現(xiàn)問(wèn)題時(shí)登陸數(shù)據(jù)庫(kù)讀取各項(xiàng)指標(biāo)進(jìn)行人工分析,在當(dāng)今這個(gè)分布式技術(shù)蓬勃發(fā)展、數(shù)據(jù)海量井噴的時(shí)代里,只靠我們這些“人”來(lái)判斷處理如此之多的信息流,已經(jīng)出現(xiàn)力不從心的情況。這種形勢(shì)下,必須引入其他運(yùn)維手段,幫助把我們管理員從繁瑣高壓的工作環(huán)境中解放出來(lái)。
4、缺乏新技術(shù)運(yùn)維經(jīng)驗(yàn)
在“去 IOE ”、“自主可控”的技術(shù)和政策雙重背景下,傳統(tǒng)金融行業(yè)的業(yè)務(wù)系統(tǒng)所采用的數(shù)據(jù)庫(kù),正在從老牌廠商的 DB2 、 Oracle 等逐漸過(guò)渡至開(kāi)源數(shù)據(jù)庫(kù)或國(guó)產(chǎn)新興的分布式數(shù)據(jù)庫(kù),我們也在進(jìn)行分布式數(shù)據(jù)庫(kù)的轉(zhuǎn)型探索。然而,并非所有數(shù)據(jù)庫(kù)管理員都具備新數(shù)據(jù)庫(kù)技術(shù)理論和操作能力,有的管理員已經(jīng)成為傳統(tǒng)數(shù)據(jù)庫(kù)領(lǐng)域的專家,可能已經(jīng)運(yùn)維了十年甚至二十年之久。面對(duì)新型數(shù)據(jù)庫(kù)技術(shù),傳統(tǒng)技術(shù)經(jīng)驗(yàn)并不能完全適用,甚至可能是顛覆性的。
三、運(yùn)維人員如何應(yīng)對(duì)新挑戰(zhàn)
1、制定規(guī)范和標(biāo)準(zhǔn),降低運(yùn)維風(fēng)險(xiǎn)
作為傳統(tǒng)金融機(jī)構(gòu),我們有一套完整的運(yùn)維規(guī)章制度,如運(yùn)維操作流程、應(yīng)急處置規(guī)范和預(yù)案、完善的變更與回退流程等等,保障各項(xiàng)運(yùn)維工作有條不紊開(kāi)展,而這些規(guī)章制度的有效執(zhí)行往往需要依靠各崗位的細(xì)化落實(shí),數(shù)據(jù)庫(kù)運(yùn)維崗位也不例外。數(shù)據(jù)庫(kù)運(yùn)維團(tuán)隊(duì)正在按照這些規(guī)范指引,結(jié)合崗位各方面的具體工作,制定出屬于數(shù)據(jù)庫(kù)管理的規(guī)范和標(biāo)準(zhǔn)。例如把升級(jí)、上線、備份、遷數(shù)等工作整理成標(biāo)準(zhǔn)模板文檔,形成運(yùn)維資產(chǎn)隨時(shí)調(diào)用;或更進(jìn)一步地,把數(shù)據(jù)建模和數(shù)據(jù)庫(kù)設(shè)計(jì)、容量規(guī)劃、 SQL 開(kāi)發(fā)、高可用架構(gòu)設(shè)計(jì)等工作整理成規(guī)范文檔,面向所有數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供咨詢指導(dǎo)。通過(guò)標(biāo)準(zhǔn)、規(guī)范化的管理,使得數(shù)據(jù)庫(kù)運(yùn)維工作有據(jù)可依、遇事不慌,從而降低運(yùn)維風(fēng)險(xiǎn)。
2、借助運(yùn)維工具,發(fā)展自動(dòng)化、平臺(tái)化運(yùn)維
大數(shù)據(jù)背景下運(yùn)維工作已經(jīng)不能單純依靠人力來(lái)解決,而要借助工具、平臺(tái)來(lái)完成。目前開(kāi)源的和商用的運(yùn)維工具和平臺(tái)豐富多樣,很多傳統(tǒng)的手工運(yùn)維工作都可以交給這些工具或者建設(shè)相應(yīng)平臺(tái)來(lái)做。常規(guī)序列化操作如安裝、巡檢、升級(jí)、備份等,我們已經(jīng)開(kāi)始借助自動(dòng)化運(yùn)維平臺(tái);以往通過(guò)手工更新的數(shù)據(jù)庫(kù)配置信息表交給 ITSM 或 CMDB 來(lái)管理;數(shù)據(jù)庫(kù)的監(jiān)控告警可以利用近幾年大熱的 Prometheus+grafana 技術(shù)進(jìn)行配置,或者引入商用產(chǎn)品建設(shè)數(shù)據(jù)庫(kù)監(jiān)控平臺(tái)或數(shù)據(jù)庫(kù)性能分析系統(tǒng);等等。作為一名數(shù)據(jù)庫(kù)管理員一定要經(jīng)常思考哪些工作可以交給“機(jī)器”去做,學(xué)會(huì)借助運(yùn)維工具和平臺(tái),輔助運(yùn)維人員保障業(yè)務(wù)穩(wěn)定性及連續(xù)性。
3、探索智能運(yùn)維,建設(shè)決策中心
隨著越來(lái)越多的運(yùn)維工具投入使用,運(yùn)維管理員似乎又“忙”了起來(lái),因?yàn)樾枰诓煌墓ぞ吆推脚_(tái)之間進(jìn)行切換,并在大腦中將各種指標(biāo)關(guān)聯(lián)起來(lái)綜合進(jìn)行判斷,以實(shí)現(xiàn)故障分析、關(guān)系維護(hù)等操作難題,這對(duì)于運(yùn)維人員來(lái)說(shuō)也形成了不小的壓力。深入思考后發(fā)現(xiàn),所有這些運(yùn)維工具、平臺(tái)、系統(tǒng),歸根結(jié)底,都在采集“數(shù)據(jù)”并向外輸出“信息”。數(shù)據(jù)在當(dāng)代已經(jīng)成為企業(yè)生存的根本,如果能夠整合這些“信息”并產(chǎn)生更大的“價(jià)值”,那么對(duì)于運(yùn)維人員來(lái)說(shuō)必然又多了一項(xiàng)利器。如何實(shí)現(xiàn)運(yùn)維資產(chǎn)數(shù)據(jù)有效、精確、精細(xì)化管理,利用大數(shù)據(jù)技術(shù)形成決策中心,運(yùn)維數(shù)據(jù)消費(fèi)效率,成為目前不得不思考的問(wèn)題,而數(shù)據(jù)中臺(tái)、運(yùn)維數(shù)據(jù)中臺(tái)、智能運(yùn)維平臺(tái)等技術(shù)正是為了解決此類問(wèn)題應(yīng)運(yùn)而生。數(shù)據(jù)庫(kù)運(yùn)維員作為智能運(yùn)維的直接收益者,我們也正在朝這個(gè)方向探索。
4、主動(dòng)擁抱新技術(shù)
自主搭建一套測(cè)試環(huán)境進(jìn)行學(xué)習(xí)實(shí)踐是轉(zhuǎn)型的開(kāi)端。如果已經(jīng)有 DB2 或者 Oracle 的實(shí)踐基礎(chǔ),可以通過(guò)對(duì)比的方式來(lái)進(jìn)行新數(shù)據(jù)庫(kù)技術(shù)的學(xué)習(xí)。 MySQL 是當(dāng)今使用最廣泛的開(kāi)源數(shù)據(jù)庫(kù),搭建簡(jiǎn)單,網(wǎng)絡(luò)上學(xué)習(xí)教程非常多,如果能夠先把 Mysql 原理理清楚,再去對(duì)比學(xué)習(xí)其他分布式數(shù)據(jù)庫(kù)便會(huì)簡(jiǎn)單許多。目前市面上分布式數(shù)據(jù)庫(kù)技術(shù)有兩種實(shí)現(xiàn)方式,一類靠 mysql+ 中間件實(shí)現(xiàn),一類靠研發(fā)新型分布式數(shù)據(jù)庫(kù)實(shí)現(xiàn)。 Mysql+ 中間件有開(kāi)源版本,也有諸多數(shù)據(jù)庫(kù)廠商基于中間件做了商業(yè)版的分布式增強(qiáng),而數(shù)據(jù)庫(kù)仍沿用開(kāi)源 Mysql ;自研分布式數(shù)據(jù)庫(kù)也有很多,比較知名的大廠商推出了 OceanBase 、 GaussDB 、 TDSql 等,或者中小公司推出的 Tidb 、 SequoiaDB 等。如果企業(yè)已經(jīng)有了向分布式數(shù)據(jù)庫(kù)轉(zhuǎn)型的思路,那么數(shù)據(jù)庫(kù)運(yùn)維人員不妨借此機(jī)會(huì)開(kāi)始參與到項(xiàng)目前期調(diào)研中,一定會(huì)收獲良多。
5、懂技術(shù),也要懂業(yè)務(wù)和管理
大型金融機(jī)構(gòu)內(nèi)部的分工往往比較細(xì),很多情況下技術(shù)人員、項(xiàng)目管理人員是不同的團(tuán)隊(duì),然而對(duì)于個(gè)人發(fā)展來(lái)說(shuō),還是應(yīng)該把重點(diǎn)從技術(shù)領(lǐng)域擴(kuò)展到復(fù)合型領(lǐng)域。正如前文所說(shuō),如果企業(yè)已經(jīng)有了向分布式數(shù)據(jù)庫(kù)轉(zhuǎn)型的思路,那么數(shù)據(jù)庫(kù)運(yùn)維人員一定要從項(xiàng)目前期調(diào)研就開(kāi)始參與,因?yàn)轫?xiàng)目前期所進(jìn)行的調(diào)研、需求、 poc 測(cè)試是了解新技術(shù)的第一步,可以最快速地了解市場(chǎng)主流技術(shù)和應(yīng)用現(xiàn)狀。到了項(xiàng)目建設(shè)期,就更需要技術(shù)和管理的復(fù)合型人才了,數(shù)據(jù)庫(kù)運(yùn)維人員自身已經(jīng)有了技術(shù)實(shí)力,更能方便地把業(yè)務(wù)需求與實(shí)踐相結(jié)合,利于項(xiàng)目成功落地。項(xiàng)目建成后進(jìn)行新技術(shù)推廣時(shí),技術(shù)人員的優(yōu)勢(shì)又能進(jìn)一步凸顯,因?yàn)闊o(wú)論是何種新技術(shù)的推廣實(shí)施,一定要先制定完善的技術(shù)升級(jí)規(guī)范,提前做好測(cè)試,獲取遷移改造量和改造難度,制定出切實(shí)可行的切換計(jì)劃,在這一點(diǎn)上技術(shù)人員可謂具有得天獨(dú)厚的優(yōu)勢(shì)。
6、引進(jìn)新技術(shù)人才,注入新鮮血液
如果企業(yè)有人才招聘計(jì)劃,不妨適當(dāng)引入新型數(shù)據(jù)庫(kù)的技術(shù)人才,一方面使得團(tuán)隊(duì)整體對(duì)外服務(wù)能力得到提升,另一方面也為團(tuán)隊(duì)引入了內(nèi)部講師有利于全體成員的進(jìn)步。
7、開(kāi)展廠商合作,引入專業(yè)技術(shù)支持
大型金融機(jī)構(gòu)的技術(shù)團(tuán)隊(duì)規(guī)模可能比不上互聯(lián)網(wǎng)技術(shù)公司,但更多時(shí)候金融機(jī)構(gòu)以甲方的身份出現(xiàn),有更多的機(jī)會(huì)與技術(shù)公司開(kāi)展合作。數(shù)據(jù)庫(kù)運(yùn)維人員可以借助這些合作機(jī)會(huì),向?qū)I(yè)技術(shù)公司學(xué)習(xí)。
四、總結(jié)
以上是筆者結(jié)合自身工作經(jīng)歷整理的些許感悟。在傳統(tǒng)數(shù)據(jù)庫(kù)轉(zhuǎn)型的過(guò)程中,運(yùn)維人員一定要運(yùn)用新時(shí)代運(yùn)維理念及時(shí)調(diào)整自身發(fā)展方向,全面提升技術(shù)與管理技能,順應(yīng)新技術(shù)潮流,以精細(xì)化、自動(dòng)化、智能化的管理思維勤加思考,在變革的浪潮中砥礪前行。