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