一般意義上的(de)(de)數(shu)(shu)據(ju)(ju)庫(ku)(ku)(ku)管(guan)理員是(shi)一個(ge)負責(ze)管(guan)理和維護數(shu)(shu)據(ju)(ju)庫(ku)(ku)(ku)服(fu)務器的(de)(de)人(ren),數(shu)(shu)據(ju)(ju)庫(ku)(ku)(ku)管(guan)理員負責(ze)全面(mian)(mian)管(guan)理和控制數(shu)(shu)據(ju)(ju)庫(ku)(ku)(ku)系統,包(bao)括數(shu)(shu)據(ju)(ju)庫(ku)(ku)(ku)的(de)(de)安裝、監控、備份、恢復等(deng)基本工作(zuo)。數(shu)(shu)據(ju)(ju)庫(ku)(ku)(ku)管(guan)理員的(de)(de)主要(yao)職責(ze)有(you)以下幾(ji)個(ge)方面(mian)(mian):
設(she)計數據庫設(she)計,包(bao)括字(zi)段(duan)、表和關鍵字(zi)段(duan);資源(yuan)在輔助(zhu)存儲設(she)備上是怎(zen)樣使用的,怎(zen)樣增加和刪(shan)除文件及記錄,以及怎(zen)樣發現和補救(jiu)損失。
2.監(jian)視監(jian)控數(shu)(shu)據(ju)庫(ku)(ku)的(de)(de)警告日志,定期做備(bei)份刪除。監(jian)控數(shu)(shu)據(ju)庫(ku)(ku)的(de)(de)日常會話情(qing)況。碎(sui)片、剩(sheng)余表(biao)空(kong)(kong)間監(jian)控,及(ji)(ji)時了解表(biao)空(kong)(kong)間的(de)(de)擴展情(qing)況、以及(ji)(ji)剩(sheng)余空(kong)(kong)間分布情(qing)況。監(jian)視對象的(de)(de)修改。定期列出所(suo)有變(bian)化的(de)(de)對象安(an)裝和升(sheng)級數(shu)(shu)據(ju)庫(ku)(ku)服(fu)務器(qi)(如Oracle、MicrosoftSQLserver),以及(ji)(ji)應(ying)用程序工(gong)具。數(shu)(shu)據(ju)庫(ku)(ku)設(she)計系(xi)統(tong)存(cun)(cun)儲方(fang)案(an),并制定未來的(de)(de)存(cun)(cun)儲需求計劃。制定數(shu)(shu)據(ju)庫(ku)(ku)備(bei)份計劃,災(zai)難(nan)出現時對數(shu)(shu)據(ju)庫(ku)(ku)信息(xi)進(jin)行恢復。維護適當介質上的(de)(de)存(cun)(cun)檔(dang)或者備(bei)份數(shu)(shu)據(ju)。備(bei)份和恢復數(shu)(shu)據(ju)庫(ku)(ku)。聯系(xi)數(shu)(shu)據(ju)庫(ku)(ku)系(xi)統(tong)的(de)(de)生(sheng)產(chan)廠商,跟蹤技術(shu)信息(xi)。
3.備(bei)份對數(shu)(shu)據庫(ku)的(de)備(bei)份監(jian)控(kong)和管理數(shu)(shu)據庫(ku)的(de)備(bei)份至關(guan)重要,對數(shu)(shu)據庫(ku)的(de)備(bei)份策略要根據實際要求進行更改,數(shu)(shu)據的(de)日常備(bei)份情況進行監(jian)控(kong)。
4.修改(gai)密碼:規范數(shu)據(ju)(ju)庫用(yong)戶(hu)(hu)的(de)(de)管理定期(qi)對(dui)(dui)管理員(yuan)等(deng)重要用(yong)戶(hu)(hu)密碼進行修改(gai)。對(dui)(dui)于每(mei)一(yi)個項(xiang)(xiang)目,應該建(jian)立(li)一(yi)個用(yong)戶(hu)(hu)。DBA應該和(he)相(xiang)應的(de)(de)項(xiang)(xiang)目管理人員(yuan)或者(zhe)是(shi)程序員(yuan)溝通,確(que)定怎樣(yang)建(jian)立(li)相(xiang)應的(de)(de)數(shu)據(ju)(ju)庫底(di)層模型,最(zui)后由DBA統一(yi)管理,建(jian)立(li)和(he)維(wei)護。任何(he)數(shu)據(ju)(ju)庫對(dui)(dui)象的(de)(de)更(geng)改(gai),應該由DBA根據(ju)(ju)需求來操作。
5.SQL語(yu)(yu)句(ju):對SQL語(yu)(yu)句(ju)的(de)(de)(de)(de)書寫規(gui)范的(de)(de)(de)(de)要求一(yi)個(ge)SQL語(yu)(yu)句(ju),如果(guo)寫得不(bu)理想,對數據庫的(de)(de)(de)(de)影響是很大的(de)(de)(de)(de)。所以(yi)(yi),每一(yi)個(ge)程序(xu)員或(huo)相應(ying)的(de)(de)(de)(de)工作人員在寫相應(ying)的(de)(de)(de)(de)SQL語(yu)(yu)句(ju)時,應(ying)該嚴格按(an)照《SQL書寫規(gui)范》一(yi)文(wen),最(zui)后要有DBA檢查才可以(yi)(yi)正式(shi)運行。
6.最終用(yong)戶服務和(he)協(xie)調:數據(ju)庫(ku)管理員規定用(yong)戶訪問權限和(he)為不(bu)同用(yong)戶組分配資源。如(ru)果不(bu)同用(yong)戶之間互相(xiang)抵觸(chu),數據(ju)庫(ku)管理員應該能(neng)夠協(xie)調用(yong)戶以最優化安排。
7.數(shu)據(ju)(ju)(ju)(ju)庫安(an)全(quan):數(shu)據(ju)(ju)(ju)(ju)庫管理(li)員能(neng)夠為不(bu)同(tong)的(de)(de)數(shu)據(ju)(ju)(ju)(ju)庫管理(li)系統用(yong)戶(hu)規(gui)定不(bu)同(tong)的(de)(de)訪問權(quan)限,以保護數(shu)據(ju)(ju)(ju)(ju)庫不(bu)被未經授權(quan)的(de)(de)訪問和破壞。例如,允許一類用(yong)戶(hu)只能(neng)檢索(suo)數(shu)據(ju)(ju)(ju)(ju),而(er)另一類用(yong)戶(hu)可能(neng)擁有更新數(shu)據(ju)(ju)(ju)(ju)和刪除記錄的(de)(de)權(quan)限。
但是廣(guang)義(yi)上的(de)(de)DBA職責比這個(ge)(ge)大得多(duo),需要(yao)(yao)覆(fu)蓋(gai)產品從需求設(she)(she)計、測(ce)試到(dao)交付上線的(de)(de)整個(ge)(ge)生命周期(qi)(qi),在此(ci)過(guo)程中(zhong)(zhong)不僅要(yao)(yao)負責數(shu)(shu)(shu)據(ju)庫(ku)(ku)管(guan)理(li)系統的(de)(de)搭(da)建和運維,更(geng)要(yao)(yao)參與(yu)到(dao)前期(qi)(qi)的(de)(de)數(shu)(shu)(shu)據(ju)庫(ku)(ku)設(she)(she)計,中(zhong)(zhong)期(qi)(qi)的(de)(de)數(shu)(shu)(shu)據(ju)庫(ku)(ku)測(ce)試和后(hou)期(qi)(qi)的(de)(de)數(shu)(shu)(shu)據(ju)庫(ku)(ku)容量管(guan)理(li)和性能(neng)優化(hua)。
對于初創公司,DBA的(de)(de)工(gong)作(zuo)可(ke)能(neng)由運維工(gong)程師來兼任,從申(shen)請域(yu)名開始,到服(fu)務(wu)器(qi)上(shang)架,配(pei)置網絡設(she)備,部署操作(zuo)系(xi)統,安(an)裝數據(ju)庫,設(she)計和部署監(jian)控,防止漏(lou)洞(dong)和攻擊等等。而(er)大型公司對DBA工(gong)作(zuo)的(de)(de)要求越來越高,以(yi)下從各個維度來看(kan)DBA工(gong)作(zuo)的(de)(de)職責。
產品生命(ming)周期(qi)維(wei)度
DBA負(fu)責了(le)業務(wu)數據(ju)庫從設計、測試(shi)到部(bu)署交付的全生(sheng)命周(zhou)期管理(li),各個階段的職責包括:
1. 產品發(fa)布前
這個階段DBA的職(zhi)責(ze)是數據庫準入,主要包括:
1)產品的(de)業務(wu)熟悉;
2)產品數(shu)(shu)據庫(ku)設(she)(she)計評審:包括架構的合(he)理(li)性(xing)評估(gu),存(cun)儲容量和性(xing)能(neng)是(shi)(shi)否(fou)滿(man)足需(xu)求(qiu)(qiu),是(shi)(shi)否(fou)需(xu)要緩(huan)存(cun),是(shi)(shi)否(fou)需(xu)要冗(rong)余(yu)備份等,同時需(xu)要提供(gong)數(shu)(shu)據庫(ku)schema設(she)(she)計的合(he)理(li)性(xing)建(jian)議以使產品能(neng)夠滿(man)足上線發布并穩定運行的基本要求(qiu)(qiu);
3)資(zi)(zi)源(yuan)評估(gu),包括所(suo)需的服務器資(zi)(zi)源(yuan)、網絡(luo)資(zi)(zi)源(yuan)以及資(zi)(zi)源(yuan)的分布等,同時把關產品對資(zi)(zi)源(yuan)預算申(shen)請的合(he)理性(xing),控制服務成本;
4)資源就(jiu)位,將申請的服務器及(ji)基礎環境/域名準備就(jiu)位。
2. 產品發布
這(zhe)(zhe)個(ge)階段(duan)DBA負責數(shu)據庫(ku)發(fa)(fa)(fa)布的(de)具體(ti)工作,將具體(ti)的(de)數(shu)據庫(ku)安裝部署和初(chu)始化(hua)完(wan)成(cheng)后并對外提(ti)供(gong)(gong)服(fu)(fu)務(wu)。對于(yu)已在(zai)線數(shu)據庫(ku)的(de)升(sheng)級(ji)也(ye)(ye)屬于(yu)發(fa)(fa)(fa)布范(fan)疇,這(zhe)(zhe)個(ge)時候的(de)產品發(fa)(fa)(fa)布一(yi)般要保障在(zai)線發(fa)(fa)(fa)布,在(zai)不(bu)中(zhong)斷對外服(fu)(fu)務(wu)的(de)情況(kuang)下完(wan)成(cheng)數(shu)據庫(ku)的(de)升(sheng)級(ji)。對于(yu)大型(xing)復雜的(de)變更(geng)也(ye)(ye)存(cun)在(zai)中(zhong)止(zhi)服(fu)(fu)務(wu)發(fa)(fa)(fa)布完(wan)成(cheng)后再重新提(ti)供(gong)(gong)服(fu)(fu)務(wu)的(de)情況(kuang),但這(zhe)(zhe)種情況(kuang)需要DBA通過盡(jin)可能的(de)技術手段(duan)來避免。
3. 產品運行(xing)維護
這(zhe)個(ge)階段的工作重點包括(kuo):
1)監(jian)控:對數(shu)(shu)據(ju)庫服(fu)(fu)務運行(xing)(xing)的(de)狀(zhuang)態進(jin)行(xing)(xing)實時的(de)監(jian)控,包括數(shu)(shu)據(ju)庫會話、數(shu)(shu)據(ju)庫日志、數(shu)(shu)據(ju)文件碎片、表空間(jian)監(jian)控、用戶訪問監(jian)控等,隨時發現(xian)數(shu)(shu)據(ju)庫服(fu)(fu)務的(de)運行(xing)(xing)異常和資(zi)源消耗情況;輸出重要的(de)日常數(shu)(shu)據(ju)庫服(fu)(fu)務運行(xing)(xing)報表以評(ping)估數(shu)(shu)據(ju)庫服(fu)(fu)務整體(ti)運行(xing)(xing)狀(zhuang)況,發現(xian)數(shu)(shu)據(ju)庫隱患;
2)備(bei)(bei)份:制(zhi)定(ding)和實(shi)施數(shu)據(ju)庫(ku)備(bei)(bei)份計劃,災難出現(xian)時對數(shu)據(ju)庫(ku)信(xin)息進行(xing)(xing)恢復(fu),維(wei)護(hu)適(shi)當介質上的存(cun)檔或者備(bei)(bei)份數(shu)據(ju)。對數(shu)據(ju)庫(ku)的備(bei)(bei)份策略要根(gen)據(ju)實(shi)際要求進行(xing)(xing)更改,數(shu)據(ju)的日常備(bei)(bei)份情況進行(xing)(xing)監控。
3)安全(quan)審計:為不(bu)同(tong)的(de)(de)數據(ju)(ju)庫管理系統用戶(hu)(hu)(hu)規定不(bu)同(tong)的(de)(de)訪問(wen)權限,以保護數據(ju)(ju)庫不(bu)被未經授(shou)權的(de)(de)訪問(wen)和(he)破壞。例如,允許一類(lei)用戶(hu)(hu)(hu)只能(neng)檢索數據(ju)(ju),而另一類(lei)用戶(hu)(hu)(hu)可能(neng)擁有更(geng)新數據(ju)(ju)和(he)刪(shan)除記錄的(de)(de)權限。
4)故(gu)障處(chu)理(li):對數據(ju)庫服(fu)務出(chu)現(xian)的(de)(de)任何異(yi)常進行及時處(chu)理(li),盡可能避免問(wen)題的(de)(de)擴大化甚至中止服(fu)務。這(zhe)之(zhi)前DBA需要針對各類服(fu)務異(yi)常,如機(ji)房/網絡故(gu)障、程序bug等(deng)問(wen)題制定處(chu)理(li)的(de)(de)預(yu)案,問(wen)題出(chu)現(xian)時可以自動或手動執行預(yu)案達到止損的(de)(de)目的(de)(de)。
5)容量(liang)管理(li):包括數據庫規(gui)模擴(kuo)張后(hou)的資源評估、擴(kuo)容、機(ji)房遷移、流量(liang)調度等規(gui)劃(hua)和具(ju)體實施(shi)。
4. 數據庫(ku)性能優化
產品對外提(ti)供服(fu)務最重(zhong)要的一(yi)點是用(yong)戶體驗,用(yong)戶體驗中非常重(zhong)要的是產品的可用(yong)性和(he)響應速(su)度。而如何(he)用(yong)最合理的資源支持產品提(ti)供高可用(yong)和(he)高速(su)度的用(yong)戶體驗,這也是DBA的重(zhong)要職(zhi)責。
產品的(de)整個生(sheng)命周期里(li)數據庫管理(li)員的(de)職責(ze)重要(yao)(yao)而(er)廣泛,這催生(sheng)了各(ge)個縱向的(de)運(yun)維技術方(fang)向,凡(fan)是關系到(dao)數據庫質(zhi)量、效率(lv)、成本、安全等(deng)方(fang)面的(de)工作,及(ji)涉及(ji)到(dao)的(de)技術、組(zu)件,主(zhu)要(yao)(yao)包括:
數(shu)據庫監控技術:包括監控平臺的(de)研發、應用(yong),服務監控準確(que)性、實(shi)時性、全面性的(de)保(bao)障。
數據(ju)庫故障(zhang)管理(li):包括服(fu)務的(de)(de)(de)故障(zhang)預案設計,預案的(de)(de)(de)自(zi)動化執行,故障(zhang)的(de)(de)(de)總結并反饋(kui)到產品(pin)/系統(tong)的(de)(de)(de)設計層面進行優化以(yi)提高產品(pin)的(de)(de)(de)穩定性。
數據庫容(rong)量(liang)管理:測量(liang)服務(wu)的容(rong)量(liang),規劃服務(wu)的機房建(jian)設,擴容(rong)、遷移等工作。
數(shu)(shu)據(ju)庫(ku)(ku)性(xing)能(neng)優(you)(you)(you)化(hua):從各個方(fang)向,包括SQL優(you)(you)(you)化(hua)、參數(shu)(shu)優(you)(you)(you)化(hua)、應用優(you)(you)(you)化(hua)、客戶(hu)端優(you)(you)(you)化(hua)等(deng),提高數(shu)(shu)據(ju)庫(ku)(ku)的性(xing)能(neng)和響應速度(du),改善用戶(hu)體驗。
數據(ju)(ju)庫安全保障:包括數據(ju)(ju)庫的訪問安全、防攻擊、權限控制等。
數據庫自(zi)動部署(shu):部署(shu)平(ping)臺/工具(ju)的(de)研發,及平(ping)臺/工具(ju)的(de)使(shi)用,做到安(an)全、高效的(de)發布服務。
數據庫集群管理:包括數據庫的服務器管理、分布式(shi)集群管理等。
數據庫模型(xing)設計:包括數據庫邏輯和物理模型(xing)的設計,如何實現(xian)性(xing)能最優,架構可(ke)擴展,服務可(ke)運維(wei)等(deng)。
數據庫管理(li)員以(yi)技(ji)(ji)術(shu)為(wei)基礎,通(tong)過技(ji)(ji)術(shu)保(bao)障(zhang)數據庫提(ti)供更(geng)高質量(liang)的(de)(de)服(fu)務。DBA工(gong)作(zuo)的(de)(de)職責及在業務中(zhong)的(de)(de)位(wei)置決定了(le)DBA需要具備更(geng)加廣博的(de)(de)知識和深入的(de)(de)技(ji)(ji)術(shu)能(neng)力(li)。在數據庫環境的(de)(de)管理(li)與維護中(zhong),技(ji)(ji)術(shu)任務可歸結成許多不同的(de)(de)分(fen)類。下面列(lie)出了(le)一名DBA應掌握的(de)(de)一些技(ji)(ji)術(shu)(排(pai)名不分(fen)先后(hou))。
1.理解數據備份/恢復與災(zai)難恢復
恢(hui)復(fu)已損壞的(de)(de)數據(ju)庫是每一(yi)(yi)個DBA應掌握(wo)的(de)(de)最重要(yao)的(de)(de)技能(neng)(neng)(neng)。DBA需(xu)要(yao)完(wan)全(quan)理(li)解數據(ju)庫所有(you)可能(neng)(neng)(neng)的(de)(de)備份(fen)(fen)與(yu)(yu)恢(hui)復(fu)方(fang)法,以及不同(tong)備份(fen)(fen)方(fang)法與(yu)(yu)不同(tong)恢(hui)復(fu)策略的(de)(de)對應關系。此外,DBA還(huan)需(xu)要(yao)與(yu)(yu)業(ye)務(wu)部門合作,一(yi)(yi)起確(que)認業(ye)務(wu)需(xu)求(qiu)(qiu),明確(que)用戶能(neng)(neng)(neng)夠(gou)(gou)容忍的(de)(de)數據(ju)丟失底線。此外,業(ye)務(wu)用戶還(huan)需(xu)要(yao)確(que)定(ding)在(zai)系統故障情況下,他(ta)們的(de)(de)業(ye)務(wu)能(neng)(neng)(neng)夠(gou)(gou)維(wei)持多(duo)長時間(jian)。理(li)解這些需(xu)求(qiu)(qiu)可以幫助DBA開發出一(yi)(yi)個滿足業(ye)務(wu)用戶要(yao)求(qiu)(qiu)的(de)(de)備份(fen)(fen)/恢(hui)復(fu)方(fang)法。一(yi)(yi)個優秀的(de)(de)DBA要(yao)定(ding)期測(ce)試備份(fen)(fen)與(yu)(yu)恢(hui)復(fu)流程,保(bao)證他(ta)們有(you)能(neng)(neng)(neng)力恢(hui)復(fu)業(ye)務(wu)數據(ju),滿足企業(ye)所規定(ding)的(de)(de)業(ye)務(wu)數據(ju)丟失與(yu)(yu)恢(hui)復(fu)要(yao)求(qiu)(qiu)。
2.工(gong)具集(ji)的(de)使用(yong)
所謂工(gong)具(ju)集(ji),指是的(de)(de)(de)(de)(de)他(ta)(ta)們要有一(yi)(yi)(yi)組(zu)用于執(zhi)行不同DBA任(ren)務的(de)(de)(de)(de)(de)腳(jiao)(jiao)本(ben)。這個(ge)(ge)工(gong)具(ju)集(ji)應(ying)該包含不同的(de)(de)(de)(de)(de)小(xiao)代(dai)碼片段(duan),它們可(ke)以快速診斷問題或(huo)執(zhi)行一(yi)(yi)(yi)個(ge)(ge)特定的(de)(de)(de)(de)(de)任(ren)務。這些(xie)(xie)工(gong)具(ju)腳(jiao)(jiao)本(ben)應(ying)該按DBA的(de)(de)(de)(de)(de)活動類(lei)型(xing)歸(gui)類(lei),如備份、索(suo)引維護、性能優化、容量管理等。由于總是會執(zhi)行新(xin)任(ren)務、發現新(xin)問題或(huo)找到(dao)其(qi)他(ta)(ta)人開發的(de)(de)(de)(de)(de)好用腳(jiao)(jiao)本(ben),因此(ci)(ci)一(yi)(yi)(yi)個(ge)(ge)優秀的(de)(de)(de)(de)(de)DBA會不斷地給這個(ge)(ge)工(gong)具(ju)集(ji)增加新(xin)腳(jiao)(jiao)本(ben)。此(ci)(ci)外,他(ta)(ta)還應(ying)該了解(jie)網上哪里能夠(gou)找到(dao)一(yi)(yi)(yi)些(xie)(xie)免費(fei)的(de)(de)(de)(de)(de)工(gong)具(ju)和腳(jiao)(jiao)本(ben)。一(yi)(yi)(yi)個(ge)(ge)好的(de)(de)(de)(de)(de)DBA知道什么(me)時候可(ke)以利(li)用其(qi)他(ta)(ta)人編寫(xie)的(de)(de)(de)(de)(de)腳(jiao)(jiao)本(ben),從而節省自(zi)己(ji)的(de)(de)(de)(de)(de)時間和改進自(zi)己(ji)的(de)(de)(de)(de)(de)工(gong)具(ju)集(ji)。
3.知(zhi)道如何(he)快速尋找答案(an)
數據(ju)庫(ku)每(mei)天會(hui)面(mian)臨各(ge)(ge)種(zhong)各(ge)(ge)樣故障(zhang)的(de)挑(tiao)戰,從硬(ying)件(jian)到(dao)網絡(luo)(luo),從性能壓力(li)到(dao)程(cheng)序bug,DBA都(dou)要從容應對,一(yi)一(yi)排除。即使(shi)是數據(ju)庫(ku)大(da)牛,也(ye)不(bu)(bu)可(ke)能是無所(suo)不(bu)(bu)知(zhi)的(de),因此每(mei)個(ge)DBA一(yi)方面(mian)需要不(bu)(bu)斷(duan)修煉自己(ji),積累操作系統、網絡(luo)(luo)、硬(ying)件(jian)、存儲系統、分布式計算等(deng)理論(lun)基礎(chu),另一(yi)方面(mian)還要有(you)快(kuai)速尋找(zhao)(zhao)新問題(ti)解(jie)(jie)決方法的(de)能力(li)。如果一(yi)個(ge)數據(ju)庫(ku)實例不(bu)(bu)能按預期方式運轉,那么(me)快(kuai)速尋找(zhao)(zhao)新問題(ti)的(de)解(jie)(jie)決方法也(ye)是一(yi)個(ge)重要能力(li)。一(yi)個(ge)好(hao)的(de)DBA知(zhi)道如何快(kuai)速地在(zai)網上(shang)查找(zhao)(zhao)一(yi)個(ge)未知(zhi)問題(ti)的(de)解(jie)(jie)決方法。此外(wai),他們也(ye)可(ke)能已經知(zhi)道了一(yi)些非常不(bu)(bu)錯的(de)網站(zhan),也(ye)知(zhi)道業界專家會(hui)提供一(yi)些好(hao)建議(yi),同時(shi)知(zhi)道什(shen)么(me)時(shi)候應該忽略(lve)一(yi)些不(bu)(bu)好(hao)的(de)建議(yi)。你可(ke)能想象(xiang)不(bu)(bu)到(dao),確實有(you)一(yi)些建議(yi)不(bu)(bu)值得參考。
4.知道如何監控和(he)優化數(shu)據(ju)庫性(xing)能
對于(yu)任(ren)何數據(ju)庫產品(pin),性能(neng)都尤(you)其重(zhong)要(yao),它會直接(jie)影響產品(pin)的響應速(su)度和(he)用戶體驗。對于(yu)一個DBA來(lai)說,性能(neng)優化一般需要(yao)占用50%的工作時間,因此DBA需要(yao)知道如何監控和(he)優化數據(ju)性能(neng)。
以(yi)SQL Server舉例,性(xing)(xing)能(neng)是一(yi)個關鍵的問(wen)題(ti),因(yin)此DBA需要(yao)知道如何(he)修(xiu)復故障和監控(kong)性(xing)(xing)能(neng)問(wen)題(ti)。有許(xu)多第(di)(di)三(san)方性(xing)(xing)能(neng)監控(kong)工(gong)(gong)(gong)具(ju)(ju)可以(yi)幫助DBA優化性(xing)(xing)能(neng)。如果(guo)DBA只使(shi)(shi)用(yong)第(di)(di)三(san)方工(gong)(gong)(gong)具(ju)(ju),而不(bu)會使(shi)(shi)用(yong)SQL Server自帶(dai)的原生(sheng)工(gong)(gong)(gong)具(ju)(ju)來監控(kong)性(xing)(xing)能(neng),那么(me)相信很(hen)(hen)快就會出(chu)現(xian)問(wen)題(ti)。雖然使(shi)(shi)用(yong)第(di)(di)三(san)方工(gong)(gong)(gong)具(ju)(ju)來監控(kong)性(xing)(xing)能(neng)也很(hen)(hen)不(bu)錯,但是DBA一(yi)定要(yao)理解SQL自帶(dai)的一(yi)些原生(sheng)工(gong)(gong)(gong)具(ju)(ju),如SQL Server Profiler、Database Engine Tuning Advisor、Dynamic ManagementViews、系統/擴展的存儲(chu)過程、Extended Events等(deng)。許(xu)多第(di)(di)三(san)方工(gong)(gong)(gong)具(ju)(ju)實際上在使(shi)(shi)用(yong)這些底層的原生(sheng)工(gong)(gong)(gong)具(ju)(ju)。因(yin)此,理解這些自帶(dai)的原生(sheng)工(gong)(gong)(gong)具(ju)(ju)將(jiang)有利于增(zeng)強DBA使(shi)(shi)用(yong)第(di)(di)三(san)方工(gong)(gong)(gong)具(ju)(ju)的經驗。
5.研究新版本
在技術(shu)領域(yu)中,沒(mei)有什(shen)么是一(yi)成不變的(de)(de)(de)。每隔兩(liang)三年,主流數(shu)據庫廠商都會(hui)發布一(yi)個大版(ban)本(ben)(ben)的(de)(de)(de)更(geng)新(xin)。DBA應該緊跟新(xin)版(ban)本(ben)(ben)所作的(de)(de)(de)修改,它們可能有許多變化(hua)方法(fa),最好(hao)的(de)(de)(de)方法(fa)是遲早介(jie)入這個過程。測(ce)試(shi)版(ban)開放(fang)后(hou)馬(ma)上下載和安裝,盡(jin)快(kuai)掌(zhang)握第(di)一(yi)手使用經驗(yan)。一(yi)名好(hao)的(de)(de)(de)DBA總是走在學習排頭兵,總是會(hui)第(di)一(yi)時(shi)間安裝和測(ce)試(shi)新(xin)版(ban)本(ben)(ben)。這樣他們就(jiu)可以盡(jin)早理(li)解新(xin)特(te)性,然后(hou)提出(chu)一(yi)些合理(li)的(de)(de)(de)新(xin)建議,幫助組織更(geng)好(hao)地利用新(xin)版(ban)本(ben)(ben)數(shu)據庫。
6.理解代(dai)碼最佳實(shi)踐方法
DBA應該了解如(ru)(ru)何(he)(he)編寫(xie)高(gao)效的(de)(de)(de)(de)代(dai)碼(ma)。有許(xu)多糟糕的(de)(de)(de)(de)編碼(ma)實(shi)踐(jian)方法會(hui)導(dao)致拙劣的(de)(de)(de)(de)性(xing)能。一(yi)名好(hao)的(de)(de)(de)(de)DBA要能夠理解和識別這些(xie)糟糕的(de)(de)(de)(de)編碼(ma)實(shi)踐(jian)方法,知道如(ru)(ru)何(he)(he)修(xiu)改這些(xie)爛代(dai)碼(ma),讓它(ta)們(men)變成(cheng)高(gao)效代(dai)碼(ma)。此外,他(ta)(ta)們(men)還要記(ji)錄下寫(xie)代(dai)碼(ma)的(de)(de)(de)(de)最佳實(shi)踐(jian)方法,并且將(jiang)這些(xie)實(shi)踐(jian)方法分享給其他(ta)(ta)人。
7.持續不斷地(di)學習
數(shu)據庫(ku)及其(qi)組件涉及面非常廣(guang)。DBA很難理解(jie)一(yi)個(ge)技術的(de)(de)方方面面。DBA需要(yao)持續學習(xi)(xi)如何管理數(shu)據庫(ku)。這個(ge)學習(xi)(xi)過程有(you)很多(duo)(duo)方法。其(qi)中之(zhi)一(yi)就是(shi)(shi)參(can)加(jia)正式(shi)(shi)培訓。但是(shi)(shi),并非人(ren)人(ren)都有(you)這樣充裕的(de)(de)事件和(he)金錢,也并非人(ren)人(ren)都能(neng)夠放下手頭(tou)工(gong)作專門出去(qu)參(can)加(jia)正式(shi)(shi)的(de)(de)培訓。但是(shi)(shi),還(huan)有(you)許多(duo)(duo)其(qi)他(ta)方法可以獲得培訓,而(er)且大(da)多(duo)(duo)數(shu)還(huan)是(shi)(shi)免費(fei)的(de)(de)。一(yi)名好的(de)(de)DBA一(yi)定(ding)要(yao)訂閱一(yi)些定(ding)期(qi)發布數(shu)據庫(ku)新(xin)技巧(qiao)和(he)新(xin)文章的(de)(de)社(she)區網站。此外,他(ta)還(huan)應(ying)該加(jia)入一(yi)些用戶(hu)組織(zhi),可以在周末參(can)加(jia)一(yi)些當地的(de)(de)免費(fei)沙(sha)龍(long)活(huo)動。
8.數據(ju)庫安全性
安全性是一個(ge)(ge)熱(re)門話題。DBA應(ying)該(gai)完(wan)全掌握如何(he)實現(xian)數(shu)(shu)據庫的安全訪問(wen)。他(ta)們(men)應(ying)該(gai)理(li)解操(cao)作系(xi)統身(shen)(shen)份(fen)驗(yan)證和數(shu)(shu)據庫身(shen)(shen)份(fen)驗(yan)證的區別,以及它們(men)各自的使(shi)用場(chang)合。他(ta)們(men)應(ying)該(gai)理(li)解如何(he)使(shi)用數(shu)(shu)據庫角色來管理(li)不同類型用戶的安全配置。他(ta)們(men)應(ying)該(gai)理(li)解連接數(shu)(shu)據庫的端口(kou)與協議。此外,他(ta)們(men)還應(ying)該(gai)理(li)解如何(he)加(jia)(jia)密整個(ge)(ge)數(shu)(shu)據庫,或者加(jia)(jia)密一個(ge)(ge)數(shu)(shu)據庫中一個(ge)(ge)表(biao)的某一個(ge)(ge)字段,同時理(li)解關(guan)于(yu)加(jia)(jia)密數(shu)(shu)據的各種問(wen)題。
9.數據庫設計
決定數據(ju)庫性能(neng)(neng)(neng)的(de)(de)一個(ge)關鍵問題是(shi)數據(ju)庫設(she)計。DBA需要理解關于數據(ju)庫設(she)計的(de)(de)各(ge)個(ge)方面。他們要能(neng)(neng)(neng)夠(gou)(gou)理解設(she)計好(hao)壞(huai)的(de)(de)區別。他們需要理解為什(shen)么使用(yong)正確的(de)(de)外鍵約束、主鍵、檢查約束和使用(yong)數據(ju)類型能(neng)(neng)(neng)夠(gou)(gou)保持數據(ju)庫的(de)(de)數據(ju)完整性和實現高效的(de)(de)數據(ju)查詢與更(geng)新。
10.索引設計
數據庫索引(yin)(yin)(yin)(yin)是提高應(ying)用程序(xu)檢(jian)索和更新數據速度的重要環節。DBA需要知(zhi)道(dao)(dao)索引(yin)(yin)(yin)(yin)的工作原理(li)(li)。他們(men)應(ying)該知(zhi)道(dao)(dao)聚簇索引(yin)(yin)(yin)(yin)和非聚簇索引(yin)(yin)(yin)(yin)的區別,知(zhi)道(dao)(dao)這些索引(yin)(yin)(yin)(yin)的物理(li)(li)存儲方(fang)式。DBA應(ying)該知(zhi)道(dao)(dao)如(ru)(ru)(ru)何(he)在執行計(ji)劃中(zhong)使用這些索引(yin)(yin)(yin)(yin)。他們(men)應(ying)該理(li)(li)解如(ru)(ru)(ru)何(he)找到索引(yin)(yin)(yin)(yin)的使用統(tong)計(ji)、理(li)(li)解索引(yin)(yin)(yin)(yin)碎片及如(ru)(ru)(ru)何(he)發現丟失的索引(yin)(yin)(yin)(yin)。他們(men)應(ying)該知(zhi)道(dao)(dao)如(ru)(ru)(ru)何(he)維護索引(yin)(yin)(yin)(yin),以(yi)及索引(yin)(yin)(yin)(yin)統(tong)計(ji)信息對于查詢引(yin)(yin)(yin)(yin)擎(qing)的重要作用。
11.容量監控與(yu)規劃
數據(ju)(ju)庫往往要使用大(da)量(liang)的資源(yuan),包括CPU、內(nei)存、I/O及磁盤空間(jian)(jian)。DBA應(ying)該理解如何監控數據(ju)(ju)庫所(suo)需要的不同主機(ji)資源(yuan)的用量(liang)。他們(men)應(ying)該能夠理解這(zhe)些(xie)資源(yuan)在(zai)不同時間(jian)(jian)的使用情況,以及利(li)用歷(li)史使用數據(ju)(ju)來規(gui)劃(hua)未來的容(rong)量(liang)需求。在(zai)監控過(guo)程中(zhong),DBA應(ying)該能夠預(yu)見到容(rong)量(liang)規(gui)劃(hua)會(hui)在(zai)將來什么(me)時候出(chu)現問題,然后采(cai)取必要的措施(shi)保持(chi)數據(ju)(ju)庫不會(hui)因為容(rong)量(liang)限制而出(chu)現中(zhong)斷。
12.數據庫許可證
不(bu)(bu)(bu)同(tong)的(de)(de)產(chan)(chan)品(pin)有許(xu)多不(bu)(bu)(bu)同(tong)的(de)(de)許(xu)可證(zheng)授(shou)權方式(shi)。而且,同(tong)一款(kuan)產(chan)(chan)品(pin)本(ben)(ben)身(shen)又有許(xu)多不(bu)(bu)(bu)同(tong)的(de)(de)版(ban)(ban)(ban)本(ben)(ben)。DBA應該理解所(suo)負(fu)責的(de)(de)數據庫版(ban)(ban)(ban)本(ben)(ben)的(de)(de)不(bu)(bu)(bu)同(tong)授(shou)權模(mo)式(shi)。他(ta)們(men)應該能夠提供指導如(ru)何通(tong)過合(he)理購買授(shou)權來減少數據庫總擁有成本(ben)(ben),以及如(ru)何合(he)理利用授(shou)權方法來降低未(wei)來版(ban)(ban)(ban)本(ben)(ben)的(de)(de)升級成本(ben)(ben)。
13.盡可能實(shi)現自動化
DBA每(mei)天都需(xu)要(yao)(yao)執(zhi)(zhi)行(xing)許多的(de)(de)日(ri)常(chang)任(ren)務(wu)。其中(zhong)一些任(ren)務(wu)需(xu)要(yao)(yao)每(mei)天執(zhi)(zhi)行(xing),而另一些則每(mei)周(zhou)、每(mei)月(yue)或(huo)每(mei)年(nian)執(zhi)(zhi)行(xing)。一名好的(de)(de)DBA需(xu)要(yao)(yao)理解如何高效地(di)安排自(zi)己的(de)(de)時間。其中(zhong)一種(zhong)方法是(shi)建立工作流程,這(zhe)些日(ri)常(chang)任(ren)務(wu)的(de)(de)自(zi)動執(zhi)(zhi)行(xing)。通過(guo)實現日(ri)常(chang)任(ren)務(wu)的(de)(de)自(zi)動化執(zhi)(zhi)行(xing),DBA就(jiu)可以(yi)用(yong)更多的(de)(de)時間去關注于(yu)數據庫環境(jing)管理中(zhong)遇到的(de)(de)嚴重(zhong)問題。
DBA需要(yao)跟各種人(ren)員打交道,這些人(ren)員可能(neng)是銷售商、用戶、開發人(ren)員或者管理人(ren)員。這說明:DBA必須具有下面(mian)的個性特(te)點:
自信心(xin):足夠的(de)自信心(xin)能(neng)夠幫助DBA在重要(yao)緊急(ji)時(shi)刻果斷下(xia)決定,而不是不知所措地看(kan)著事故發生(sheng)
好奇心:幾乎所有(you)的(de)(de)數據(ju)庫系統(tong)都(dou)在不(bu)停(ting)地更(geng)(geng)新。但并(bing)不(bu)是(shi)所有(you)的(de)(de)更(geng)(geng)新都(dou)有(you)技術文檔。對(dui)于好的(de)(de)DBA來說,好奇心是(shi)必(bi)需的(de)(de)。沒有(you)好奇心和求知欲(yu)的(de)(de)DBA總是(shi)等待有(you)人告訴他(ta)們(men)(men)答案。而一個(ge)求知欲(yu)強(qiang)的(de)(de)DBA將安(an)裝(zhuang)最新版本的(de)(de)數據(ju)庫系統(tong),并(bing)立即開始搜(sou)尋那些哪(na)怕是(shi)細(xi)微(wei)的(de)(de)功能(neng)和性能(neng)上的(de)(de)差異和增強(qiang),從而改進自己(ji)的(de)(de)工作(zuo)。應(ying)試時一個(ge)必(bi)然問及的(de)(de)問題是(shi):你(ni)手頭(tou)有(you)哪(na)些參考資料(liao)?你(ni)如何(he)使用它們(men)(men)?毫無疑問,如果你(ni)只回答了數據(ju)庫的(de)(de)文檔,或(huo)者你(ni)甚至沒有(you)讀過他(ta)們(men)(men),你(ni)的(de)(de)"股(gu)票市值"將大大下降。好奇心會驅使DBA們(men)(men)理(li)解數據(ju)字典(Data Dictionary)、管理(li)工具(Tools)或(huo)者其他(ta)支持包(Packages)。
堅韌(ren)的(de)意志(zhi)力(li)和沉著(zhu)的(de)心態(tai):DBA常常會碰到棘(ji)手(shou)的(de)問題(ti)。尋找(zhao)答(da)案(an)是(shi)一個(ge)需要(yao)堅韌(ren)意志(zhi)力(li)、可(ke)以經受摔打的(de)個(ge)性(xing)特(te)點。同時(shi)面對(dui)緊急情況(kuang)時(shi)要(yao)能處(chu)亂(luan)不驚,保持(chi)平(ping)和的(de)心態(tai)冷(leng)靜處(chu)理問題(ti)。
自我驅動(dong):自我驅動(dong)對(dui)每個人都是很重要(yao)(yao)(yao)的(de),對(dui)DBA尤其如此。DBA要(yao)(yao)(yao)能想辦(ban)法使問(wen)(wen)(wen)題(ti)出現,而不是等(deng)待問(wen)(wen)(wen)題(ti)的(de)出現。自驅力強的(de)DBA常(chang)常(chang)設法取(qu)得或者自己寫一些(xie)(xie)必(bi)要(yao)(yao)(yao)的(de)腳本(Script)來(lai)(lai)監控包括數據表(biao)大(da)小(Table Size)、表(biao)空間使用(Tablespace Usage)等(deng)項目,這些(xie)(xie)項目如果(guo)被忽視,他們將遇到麻煩。應試的(de)時候DBA們常(chang)常(chang)被問(wen)(wen)(wen)及在PL/SQL、SQL或者SQL*PLUS方面的(de)經驗,這些(xie)(xie)問(wen)(wen)(wen)題(ti)將把你從(cong)從(cong)來(lai)(lai)沒有(you)編寫過自己需要(yao)(yao)(yao)的(de)腳本的(de)那些(xie)(xie)DBA們區(qu)分開。
良好(hao)的(de)溝通(tong)能(neng)(neng)力、具有團隊(dui)合作(zuo)精神:DBA的(de)工(gong)(gong)作(zuo)需要跨(kua)部門、跨(kua)工(gong)(gong)種接觸很(hen)多工(gong)(gong)程師,善(shan)于溝通(tong)、團隊(dui)協作(zuo)能(neng)(neng)夠起(qi)到良好(hao)作(zuo)用。很(hen)多時候(hou),開發者、管理(li)者、用戶(hu),他們會(hui)提出毫無(wu)道理(li)的(de)需求(qiu),DBA們需要老練地引(yin)導、修正它們的(de)要求(qiu),說(shuo)服他們。
工作認(ren)真細致,勤于思(si)考:最(zui)后說說注(zhu)(zhu)意細節,這種(zhong)性格傾向非常重要。注(zhu)(zhu)意細節的(de)DBA們(men)衣著整潔(jie),有自(zi)己的(de)日(ri)程安排,在應(ying)試前(qian)對應(ying)聘(pin)的(de)單位做(zuo)過調(diao)查。注(zhu)(zhu)意細節的(de)DBA們(men)深入了解數據庫的(de)內核,并能(neng)理解視圖、表之間(jian)的(de)關系。
時間管(guan)理能(neng)力:數據(ju)庫運維的(de)工作非常繁瑣,因此需要將(jiang)碎(sui)片化的(de)時間充分(fen)利(li)用起(qi)來。
DBA的等級(ji)并(bing)不(bu)是很嚴格的。按照(zhao)對數據庫的掌(zhang)握情況,我簡(jian)單地分成(cheng)三個(ge)等級(ji):初級(ji)Primary、中(zhong)級(ji)Intermediate和高級(ji)Senior。
初級DBA又稱為(wei)DBBS,是(shi)英(ying)文Database Baby Sitter的(de)縮寫(xie)(xie)。初級DBA常常是(shi)兼職的(de),他們往(wang)往(wang)同時(shi)是(shi)程序員或(huo)者兼任其他的(de)工(gong)作。初級DBA往(wang)往(wang)把(ba)個人簡(jian)(jian)(jian)歷(li)寫(xie)(xie)得(de)很(hen)棒,參與了(le)很(hen)多(duo)(duo)和(he)數(shu)據庫有關的(de)項目或(huo)工(gong)作。但是(shi),這(zhe)些項目或(huo)者工(gong)作往(wang)往(wang)是(shi):第三方軟件供應商已經安裝(zhuang)并配置了(le)數(shu)據庫,他們只做一些監控的(de)工(gong)作。他們能處理一些簡(jian)(jian)(jian)單(dan)的(de)問題,但大多(duo)(duo)數(shu)時(shi)候他們向(xiang)應用(yong)軟件供應商求救。初級DBA更喜(xi)歡圖形化的(de)數(shu)據庫管理或(huo)者監控工(gong)具,他們喜(xi)歡Access這(zhe)樣的(de)桌面數(shu)據庫簡(jian)(jian)(jian)單(dan)易用(yong),并把(ba)這(zhe)些小(xiao)型(xing)數(shu)據庫的(de)經驗簡(jian)(jian)(jian)單(dan)地(di)應用(yong)到大型(xing)數(shu)據庫相關的(de)工(gong)作中。
初級(ji)DBA是最(zui)好區分(fen)(fen)的(de)(de)。而中(zhong)級(ji)DBA和(he)高(gao)級(ji)DBA就不(bu)太好區分(fen)(fen)。他們(men)的(de)(de)差(cha)別在于經驗的(de)(de)不(bu)同和(he)個性特(te)點、能力方(fang)面的(de)(de)差(cha)異。中(zhong)級(ji)DBA比較多,他們(men)可以勝任高(gao)級(ji)DBA的(de)(de)大(da)部分(fen)(fen)工作,包括:
1、數據庫安裝;
2、數據庫(ku)配置和管理;
3、權限設置(zhi)和(he)安全管理;
4、監控(kong)和性(xing)能(neng)調節;
5、備份和恢(hui)復;
6、解決一(yi)般的問題(ti);
中(zhong)(zhong)(zhong)級(ji)DBA往往從業一年左右(you),熟(shu)悉某種(zhong)操作系統環境下的數據(ju)庫。因為對(dui)中(zhong)(zhong)(zhong)級(ji)DBA來(lai)講,Windows NT和(he)Unix是有很大差別的。中(zhong)(zhong)(zhong)級(ji)DBA對(dui)SQL比較熟(shu)悉,他們自己(ji)購買(mai)了幾本(ben)數據(ju)庫方面的書籍,并深入鉆研(yan)。中(zhong)(zhong)(zhong)級(ji)DBA往往同時(shi)兼任數據(ju)庫程序員,他們的工作對(dui)性能、穩定性、安全性的追(zhui)求基本(ben)上不是很高,往往配合高級(ji)DBA做(zuo)一些例行(xing)工作。
高級(ji)DBA在國內是非常少的。他們(men)能夠熟(shu)練閱讀數(shu)(shu)(shu)據(ju)庫(ku)(ku)(ku)(ku)方面的英文資料,并(bing)且都熟(shu)悉很(hen)多(duo)種操作(zuo)平(ping)臺下的幾種大型數(shu)(shu)(shu)據(ju)庫(ku)(ku)(ku)(ku)。他們(men)知道各種不同數(shu)(shu)(shu)據(ju)庫(ku)(ku)(ku)(ku)在不同環境(jing)下的優(you)勢(shi)和(he)(he)劣勢(shi),并(bing)能在數(shu)(shu)(shu)據(ju)庫(ku)(ku)(ku)(ku)平(ping)臺和(he)(he)數(shu)(shu)(shu)據(ju)庫(ku)(ku)(ku)(ku)環境(jing)的選擇方面做出(chu)決策。他們(men)一般(ban)通曉系(xi)統架(jia)構和(he)(he)數(shu)(shu)(shu)據(ju)庫(ku)(ku)(ku)(ku)設(she)計(ji),并(bing)能對數(shu)(shu)(shu)據(ju)庫(ku)(ku)(ku)(ku)進行各種級(ji)別的優(you)化。高級(ji)DBA一般(ban)都配有助手(shou),他們(men)更偏向做決策和(he)(he)計(ji)劃。高級(ji)DBA往往在銀(yin)行業、保險業、在線交易等對穩定性(xing)、安全性(xing)、性(xing)能都要求比(bi)較高的關鍵業務處理領域大顯身手(shou)。
很多(duo)時候,是(shi)否取得(de)數據庫專家認證證書并不是(shi)很重要(yao)。很多(duo)數據庫廠商(shang)的培(pei)訓(xun)只要(yao)你去了都會(hui)獲得(de)證書。有(you)很多(duo)的公(gong)司提供商(shang)業化的培(pei)訓(xun),他們的服務質量也有(you)好有(you)劣。所以證書并不是(shi)特別地有(you)意義。
1. 薪酬競爭(zheng)力
1)影響因素:經(jing)驗和能力(li)決定DBA的(de)等級,熟悉的(de)數據(ju)庫系(xi)統決定DBA的(de)領(ling)域,個(ge)性特點和潛力(li)決定你的(de)升值空間。
2)縱向(xiang)對比(bi):DBA作(zuo)為專項(xiang)領域的高(gao)質量人才,薪(xin)酬(chou)競爭力(li)較高(gao),市場(chang)需求旺盛,尤(you)其(qi)是中高(gao)階(jie)DBA,往往緊缺(que)程(cheng)(cheng)度高(gao)于軟件研(yan)發(fa)工程(cheng)(cheng)師。
3)第三方(fang)薪酬調查(cha)報告(gao),僅供(gong)參考:
《2013年數據庫(ku)工程師薪酬調(diao)查報(bao)告》
《Database Administrator Salary》
2. 市場需求
1)數(shu)據(ju)庫運維行業的市(shi)場價值:參考ITOM(IT Operation Management) 2013年的市(shi)場規模是190億美金
2)人(ren)員需(xu)求(qiu):由于(yu)業(ye)務規模較(jiao)大(da),中大(da)型(xing)公司比較(jiao)緊缺中高階DBA,而初創公司由于(yu)其新生(sheng)的業(ye)務特點,比較(jiao)緊缺初級(ji)和中級(ji)DBA。
數據(ju)庫作為整個(ge)系統(tong)(tong)的(de)(de)一(yi)(yi)部(bu)分(fen),它(ta)的(de)(de)表現直(zhi)接受服(fu)務(wu)器、操(cao)作系統(tong)(tong)、存儲、網絡、應用(yong)程序(xu)中SQL語句的(de)(de)質量(liang)、數據(ju)庫設計(ji)的(de)(de)質量(liang)、以及其它(ta)諸多(duo)因素的(de)(de)影響,這些因素加在一(yi)(yi)起非(fei)(fei)常(chang)復(fu)雜(za),經驗起著非(fei)(fei)常(chang)重要的(de)(de)作用(yong)。因此一(yi)(yi)個(ge)好(hao)的(de)(de)DBA除了知識(shi)作為基礎,經驗的(de)(de)多(duo)寡、見識(shi)的(de)(de)薄廣,往往決(jue)定了是否(fou)合(he)格與優秀。
優秀的DBA不僅(jin)關心自己運維的數(shu)據(ju)庫(ku)(ku)(ku)系統的原理和(he)發展(zhan),而且緊跟業界數(shu)據(ju)庫(ku)(ku)(ku)前沿(yan)技(ji)術(shu),并關注數(shu)據(ju)庫(ku)(ku)(ku)領(ling)域(yu)的頂級會(hui)議(yi)。其中(zhong)包括(kuo)國際著名的數(shu)據(ju)庫(ku)(ku)(ku)三(san)大會(hui)議(yi)SIGMOD、VLDB、ICDE,還有知名數(shu)據(ju)庫(ku)(ku)(ku)公司(si)Percona主辦的Percona Live和(he)Oracle主辦的Open World,以及(ji)國內(nei)知名的DBA盛(sheng)會(hui)中(zhong)國數(shu)據(ju)庫(ku)(ku)(ku)技(ji)術(shu)大會(hui)(DTCC)等(deng)。
從另外一個角(jiao)度說(shuo),DBA工作領域對實(shi)踐經驗和獨(du)立工作能力要求較(jiao)高,沒有經過大量的(de)動手(shou)實(shi)踐是(shi)很難勝任DBA相關(guan)工作的(de)。正是(shi)由于上述原因,其(qi)職場現(xian)狀是(shi)DBA職位不易進入,而用人單位很難找到合適的(de)從業人員,人員缺口非常大。
也正是(shi)由于上述原因(yin),隨著(zhu)工作(zuo)年限的(de)增長,DBA的(de)經驗在增加,就像(xiang)醫生一(yi)樣,其價值會越來越高,可以逐步(bu)成長為(wei)資(zi)深DBA、系統架(jia)構師(shi)、信息主管(CIO)等等,而不會出(chu)現許多軟(ruan)件開發(fa)從(cong)業人員(yuan)在一(yi)定年齡后面臨的(de)轉行問題。
另外,從(cong)職業前景看(kan),從(cong)事DBA有著更多(duo)的(de)(de)職場機遇(yu)。一(yi)般而言,系統(tong)中的(de)(de)軟(ruan)硬件都是IBM、HP、Oracle等(deng)業界一(yi)流廠(chang)商(shang)提供(gong)的(de)(de),在與(yu)廠(chang)商(shang)談(tan)判、合作(zuo)、測(ce)試(shi)、實施(shi)、維護、優化等(deng)等(deng)過程中,會產生許多(duo)極佳的(de)(de)職場機遇(yu),這一(yi)點是從(cong)事開發工作(zuo)很難比擬的(de)(de)。
從(cong)DBA的工資統計(ji)數據看,隨(sui)著工作(zuo)經驗的積(ji)累(lei),DBA工資的增長幅度會(hui)遠大(da)于其它的計(ji)算(suan)機方向。
從工作的穩定性(xing)上看,系統的復雜(za)性(xing)和經(jing)驗的重要性(xing)已經(jing)決定了(le)DBA職(zhi)位的不可替代性(xing)。
從知識的(de)(de)積累、更新和替代角度看(kan),數據(ju)庫的(de)(de)根基始終沒變(bian),變(bian)的(de)(de)是不(bu)斷(duan)增強的(de)(de)功能和不(bu)斷(duan)擴展的(de)(de)應用范圍(wei)。因此(ci),在不(bu)同時期所學的(de)(de)知識和獲得的(de)(de)經驗是疊加和累積的(de)(de)關系。
因此,DBA職(zhi)業(ye)(ye)是一(yi)(yi)個高挑戰和(he)高回報的職(zhi)業(ye)(ye),有一(yi)(yi)定(ding)能力(li)的和(he)聰明(ming)的技術(shu)人員(yuan)應該挑戰自我,進入(ru)這個被(bei)二十多(duo)年事(shi)實不斷證明(ming)的越來越有前景的職(zhi)業(ye)(ye)。