數(shù)據(jù)庫工程師待遇,數(shù)據(jù)庫工程師發(fā)展好嗎
什么是數(shù)據(jù)庫工程師?
數(shù)據(jù)庫工程師(Database Engineer),是從事管理和維護(hù)數(shù)據(jù)庫管理系統(tǒng)(DBMS) 的相關(guān)工作人員的統(tǒng)稱,他屬于運(yùn)維工程師的一個分支,主要負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)庫從設(shè)計、測試到部署交付的全生命周期管理。數(shù)據(jù)庫工程師的核心目標(biāo)是保證數(shù)據(jù)庫管理系統(tǒng)的穩(wěn)定性、安全性、完整性和高性能。在國外,也有公司把數(shù)據(jù)庫管理員(Database Administrator ,簡稱DBA) 稱作數(shù)據(jù)庫工程師,兩者的工作內(nèi)容基本相同,都是保證數(shù)據(jù)庫服務(wù)7*24小時的穩(wěn)定高效運(yùn)轉(zhuǎn),但是需要區(qū)分一下數(shù)據(jù)庫工程師和數(shù)據(jù)庫開發(fā)工程師(Database Developer):1) 數(shù)據(jù)庫開發(fā)工程師的主要職責(zé)是設(shè)計和開發(fā)數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫應(yīng)用軟件系統(tǒng),側(cè)重于軟件研發(fā);2) 數(shù)據(jù)庫工程師的主要職責(zé)是運(yùn)維和管理數(shù)據(jù)庫管理系統(tǒng),側(cè)重于運(yùn)維管理。
數(shù)據(jù)庫工程師在不同的公司不同的發(fā)展階段有著不同的職責(zé)與定位。一般意義上的數(shù)據(jù)庫工程師只是負(fù)責(zé)數(shù)據(jù)庫的運(yùn)營和維護(hù),包括數(shù)據(jù)庫的安裝、監(jiān)控、備份、恢復(fù)等基本工作,但是廣義上的數(shù)據(jù)庫工程師職責(zé)比這個大得多,需要復(fù)蓋產(chǎn)品從需求設(shè)計、測試到交付上線的整個生命周期,在此過程中不僅要負(fù)責(zé)數(shù)據(jù)庫管理系統(tǒng)的搭建和運(yùn)維,更要參與到前期的數(shù)據(jù)庫設(shè)計,中期的數(shù)據(jù)庫測試和后期的數(shù)據(jù)庫容量管理和性能優(yōu)化。
對于初創(chuàng)公司,數(shù)據(jù)庫工程師的工作可能由運(yùn)維工程師來兼任,從申請域名開始,到服務(wù)器上架,配置網(wǎng)絡(luò)設(shè)備,部署操作系統(tǒng),安裝數(shù)據(jù)庫,設(shè)計和部署監(jiān)控,防止漏洞和攻擊等等。而大型公司對數(shù)據(jù)庫工程師工作的要求越來越高,以下從各個維度來看數(shù)據(jù)庫工程師工作的職責(zé)。
產(chǎn)品生命周期維度
數(shù)據(jù)庫工程師負(fù)責(zé)了業(yè)務(wù)數(shù)據(jù)庫從設(shè)計、測試到部署交付的全生命周期管理,各個階段的職責(zé)包括:
1. 產(chǎn)品發(fā)布前
這個階段數(shù)據(jù)庫工程師的職責(zé)是數(shù)據(jù)庫準(zhǔn)入,主要包括:
1)產(chǎn)品的業(yè)務(wù)熟悉;
2)產(chǎn)品數(shù)據(jù)庫設(shè)計評審:包括架構(gòu)的合理性評估,存儲容量和性能是否滿足需求,是否需要緩存,是否需要冗余備份等,同時需要提供數(shù)據(jù)庫schema設(shè)計的合理性建議以使產(chǎn)品能夠滿足上線發(fā)布并穩(wěn)定運(yùn)行的基本要求;
3)資源評估,包括所需的服務(wù)器資源、網(wǎng)絡(luò)資源以及資源的分布等,同時把關(guān)產(chǎn)品對資源預(yù)算申請的合理性,控制服務(wù)成本;
4)資源就位,將申請的服務(wù)器及基礎(chǔ)環(huán)境/域名準(zhǔn)備就位。
2. 產(chǎn)品發(fā)布
這個階段數(shù)據(jù)庫工程師負(fù)責(zé)數(shù)據(jù)庫發(fā)布的具體工作,將具體的數(shù)據(jù)庫安裝部署和初始化完成后并對外提供服務(wù)。對于已在線數(shù)據(jù)庫的升級也屬于發(fā)布范疇,這個時候的產(chǎn)品發(fā)布一般要保障在線發(fā)布,在不中斷對外服務(wù)的情況下完成數(shù)據(jù)庫的升級。對于大型復(fù)雜的變更也存在中止服務(wù)發(fā)布完成后再重新提供服務(wù)的情況,但這種情況需要數(shù)據(jù)庫工程師通過盡可能的技術(shù)手段來避免。
3. 產(chǎn)品運(yùn)行維護(hù)
這個階段的工作重點包括:
1)監(jiān)控:對數(shù)據(jù)庫服務(wù)運(yùn)行的狀態(tài)進(jìn)行實時的監(jiān)控,包括數(shù)據(jù)庫會話、數(shù)據(jù)庫日志、數(shù)據(jù)文件碎片、表空間監(jiān)控、用戶訪問監(jiān)控等,隨時發(fā)現(xiàn)數(shù)據(jù)庫服務(wù)的運(yùn)行異常和資源消耗情況;輸出重要的日常數(shù)據(jù)庫服務(wù)運(yùn)行報表以評估數(shù)據(jù)庫服務(wù)整體運(yùn)行狀況,發(fā)現(xiàn)數(shù)據(jù)庫隱患;
2)備份:制定和實施數(shù)據(jù)庫備份計劃,災(zāi)難出現(xiàn)時對數(shù)據(jù)庫信息進(jìn)行恢復(fù),維護(hù)適當(dāng)介質(zhì)上的存檔或者備份數(shù)據(jù)。對數(shù)據(jù)庫的備份策略要根據(jù)實際要求進(jìn)行更改,數(shù)據(jù)的日常備份情況進(jìn)行監(jiān)控。
3)安全審計:為不同的數(shù)據(jù)庫管理系統(tǒng)用戶規(guī)定不同的訪問權(quán)限,以保護(hù)數(shù)據(jù)庫不被未經(jīng)授權(quán)的訪問和破壞。例如,允許一類用戶只能檢索數(shù)據(jù),而另一類用戶可能擁有更新數(shù)據(jù)和刪除記錄的權(quán)限。
4)故障處理:對數(shù)據(jù)庫服務(wù)出現(xiàn)的任何異常進(jìn)行及時處理,盡可能避免問題的擴(kuò)大化甚至中止服務(wù)。這之前數(shù)據(jù)庫工程師需要針對各類服務(wù)異常,如機(jī)房/網(wǎng)絡(luò)故障、程序bug等問題制定處理的預(yù)案,問題出現(xiàn)時可以自動或手動執(zhí)行預(yù)案達(dá)到止損的目的。
5)容量管理:包括數(shù)據(jù)庫規(guī)模擴(kuò)張后的資源評估、擴(kuò)容、機(jī)房遷移、流量調(diào)度等規(guī)劃和具體實施。
4. 數(shù)據(jù)庫性能優(yōu)化
產(chǎn)品對外提供服務(wù)最重要的一點是用戶體驗,用戶體驗中非常重要的是產(chǎn)品的可用性和響應(yīng)速度。而如何用最合理的資源支持產(chǎn)品提供高可用和高速度的用戶體驗,這也是數(shù)據(jù)庫工程師的重要職責(zé)。
先說下本人的情況:05年畢業(yè)于沈陽一所三流本科院校,?英語四級沒有過。
1.5?年技術(shù)支持(java?web項目)工作經(jīng)驗?(05年8月到07年1月)
1.5?年java?web開發(fā)經(jīng)驗???????????????(07年1月到08年6月)
1.2?年sqlserver2000數(shù)據(jù)庫管理開發(fā)工作經(jīng)驗??????????????(08年9月到09年12月)
0.6?年oracle數(shù)據(jù)庫開發(fā)經(jīng)驗????????????????????????????(09年12月到10年6月)
0.2?年mysql數(shù)據(jù)庫開發(fā)經(jīng)驗?????????????????????????????(10年6月到至今)
期間,09年8月份,考取了oracle的oca、ocp,花了很大一筆錢,但是發(fā)現(xiàn)考取的證書至今對工作薪水沒有任何幫助.
,真正蛋痛啊......
目前在上海,剛到新公司一個多月,做金融行業(yè)的服務(wù)性軟件的數(shù)據(jù)庫開發(fā)工作。
大家可以看看我的工作經(jīng)歷,挺雜吧,不過沒有辦法,一直的理想職業(yè)是oracle?DBA,但是一直沒有機(jī)會去做,期間有機(jī)
會做的,但是薪水太少了,由于家庭經(jīng)濟(jì)原因,所以一直沒有轉(zhuǎn)過去。
我現(xiàn)在想的是,如果在數(shù)據(jù)庫開發(fā)工程師的職位上做好,現(xiàn)在28歲了,上海稅后年薪8W多一點,我想在30歲時候能不能達(dá)
到稅后15萬呢?
簡單介紹下目前自己的情況:
1,性格比較內(nèi)向,不善于溝通,但是能勝任數(shù)據(jù)庫開發(fā)工作。
2,不會數(shù)據(jù)挖掘不會BI不會商業(yè)智能,但是有過oracle10g、sqlserver2000、mysql5.1的開發(fā)工作,存儲過程存儲函數(shù)編
寫,sql調(diào)優(yōu)還是比較不錯的,但是大數(shù)據(jù)量的調(diào)優(yōu)比如TB、PB級別的調(diào)優(yōu)沒有做過。能,因為沒有機(jī)會讓我去學(xué)習(xí)去工作
。
3,英語爛的一塌糊涂??磳I(yè)的英文文檔有點吃力,主要是單詞量不足,口語就更爛了,至今讀出的A與I,同事很難分清
,都以為我說的是I,但是同事嘴里說出來的I和A,我可以分清楚,郁悶,這個讓我尷尬過好多次。很想去報個英語學(xué)習(xí)班
提高下,但是由于給老爸老媽買房子,現(xiàn)在是標(biāo)準(zhǔn)的負(fù)翁啦,近2年內(nèi)是拿不出2萬以上的比較好的培訓(xùn)班費(fèi)用。
我現(xiàn)在考慮的是在30歲的時候,在上海能達(dá)到稅后15萬,有點經(jīng)濟(jì)實力了穩(wěn)定了,就去找個女朋友,準(zhǔn)備結(jié)婚;
目前我要如何努力,在做數(shù)據(jù)庫開發(fā)這塊,是否可以達(dá)到我自己的目標(biāo)呢?
什么是數(shù)據(jù)庫開發(fā)工程師,是寫存儲過程觸發(fā)器之類的吧,一般我們和java開發(fā)都是同一個人 ,沒分的那么細(xì)致 |
(1)Oracle的權(quán)限控制。
(2)Oracle數(shù)據(jù)庫的基本概念和性能指標(biāo)。
(3)常用的數(shù)據(jù)字典視圖和動態(tài)性能視圖。
(4)常用的DBMS包等等。
(5)以RMAN為主的備份恢復(fù),以及容災(zāi)技術(shù),此外冷備、邏輯備也需要熟練使用。
(6)操作系統(tǒng)和存儲方面的知識,主要是UNIX基礎(chǔ)命令和編寫shell程序。
(7)高級DBA需要了解更多的東西,比如數(shù)據(jù)庫設(shè)計等等。
Oracle的認(rèn)證主要包括OCA、OCP、OCM等?,F(xiàn)在的主流是OCP,不過考試價格較貴。對就業(yè)有一定程度的好處。
DBA的就業(yè)主要是在大、中型企業(yè)。以金融、保險等行業(yè)尤甚。大型網(wǎng)站或游戲公司也需要DBA。因為這類行對數(shù)據(jù)的要求頗高。DBA的待遇在國外是IT從業(yè)者里較高的。即使在國內(nèi),DBA的待遇也相對好一些。因為其技術(shù)難度大于普通程序員。普通DBA一般是在8000-20000之間(如北京、上海)。乙方公司待遇要高一些,但工作較辛苦,壓力很大。甲方公司待遇稍低,但福利略好,工作一般很輕松。
女生在甲方做DBA是很受歡迎的。因為很多領(lǐng)導(dǎo)都會認(rèn)為女生較細(xì)心。但乙方公司一般不大愿意招聘女生來做數(shù)據(jù)庫方面的服務(wù)。
甲方DBA日常的工作壓力不大,較程序員小很多。但出問題的時候負(fù)擔(dān)會比較重。但一般大型企業(yè)都會購買第三方或原廠的技術(shù)支持,壓力會減輕很多。每年有1-2個數(shù)據(jù)庫會出問題或需要做一些大的動作。而且大多數(shù)問題都是由于操作系統(tǒng)崩潰或者服務(wù)器當(dāng)機(jī)。oracle本身運(yùn)行還是相當(dāng)穩(wěn)定的。
一??數(shù)據(jù)庫工程師的日常主要工作包括以下幾點:
1.設(shè)計并優(yōu)化數(shù)據(jù)庫物理建設(shè)方案;
2.制定數(shù)據(jù)庫備份和恢復(fù)策略及工作流程與規(guī)范;
3.在項目實施中,承擔(dān)數(shù)據(jù)庫的實施工作;
4.針對數(shù)據(jù)庫應(yīng)用系統(tǒng)運(yùn)行中出現(xiàn)的問題,提出解決方案;
5.對空間數(shù)據(jù)庫進(jìn)行分析、設(shè)計并合理開發(fā),實現(xiàn)有效管理;
6.監(jiān)督數(shù)據(jù)庫的備份和恢復(fù)策略的執(zhí)行;
7.為應(yīng)用開發(fā)、系統(tǒng)知識等提供技術(shù)咨詢服務(wù)。
二?? 數(shù)據(jù)庫工程師需掌握哪些知識技能?
1.數(shù)據(jù)庫應(yīng)用系統(tǒng)分析及規(guī)劃:
⑴軟件工程與軟件生命周期
⑵數(shù)據(jù)庫系統(tǒng)生命周期
⑶數(shù)據(jù)庫開發(fā)方法與工具
⑷數(shù)據(jù)庫應(yīng)用體系結(jié)構(gòu)
⑸數(shù)據(jù)庫應(yīng)用接口
2.數(shù)據(jù)庫設(shè)計及實現(xiàn):
⑴概念設(shè)計
⑵邏輯設(shè)計
⑶物理設(shè)計
⑷數(shù)據(jù)庫對象實現(xiàn)及操作
3.數(shù)據(jù)庫存儲技術(shù):
⑴存儲與文件結(jié)構(gòu) ⑵ 索引技術(shù)
4.并發(fā)控制技術(shù):
⑴事務(wù)管理 ⑵ 并發(fā)控制技術(shù) ⑶ 死鎖處理
5.數(shù)據(jù)庫管理與維護(hù):
⑴數(shù)據(jù)完整性
⑵數(shù)據(jù)庫安全性
⑶數(shù)據(jù)庫可靠性
⑷監(jiān)控分析
⑸參數(shù)調(diào)整
⑹查詢優(yōu)化
⑺空間管理
6.數(shù)據(jù)庫技術(shù)的發(fā)展與新技術(shù):
⑴分布式數(shù)據(jù)庫 ⑵ 對象數(shù)據(jù)庫 ⑶ 并行數(shù)據(jù)庫 ⑷ 數(shù)據(jù)倉庫與數(shù)據(jù)挖掘
三?? 要成為優(yōu)秀的數(shù)據(jù)庫工程師還要掌握一些知識,比如,
(1)? 掌握計算機(jī)體系結(jié)構(gòu)以及各主要部件的性能和基本工作原理;
(2)? 掌握操作系統(tǒng)、程序設(shè)計語言的基礎(chǔ)知識,了解編譯程序的基本知識;
(3)? 數(shù)據(jù)庫技術(shù)的基本概念、原理、方法和技術(shù);
(4)? 能夠使用SQL語言實現(xiàn)數(shù)據(jù)庫操作;
(5)? 具備數(shù)據(jù)庫系統(tǒng)安裝、配置及數(shù)據(jù)庫管理與維護(hù)的基本技能;
(6)? 掌握數(shù)據(jù)庫管理與維護(hù)的基本方法;
(7)? 掌握數(shù)據(jù)庫性能優(yōu)化的基本方法;
(8)? 了解數(shù)據(jù)庫應(yīng)用系統(tǒng)的生命周期及其設(shè)計、開發(fā)過程;
(9)? 了解數(shù)據(jù)庫技術(shù)的最新發(fā)展;
(10) 熟悉常用的數(shù)據(jù)庫管理和開發(fā)工具,具備用指定的工具管理和開發(fā)簡單數(shù)據(jù)庫應(yīng)用系統(tǒng)的能力。
四?? 那么數(shù)據(jù)庫工程師又分為哪幾類呢?
數(shù)據(jù)庫工程師大致分為:
(1)? 數(shù)據(jù)庫設(shè)計工程師 主要面向數(shù)據(jù)庫建模和數(shù)據(jù)庫選型,大都參與項目的前期的需求分析,數(shù)據(jù)庫模型設(shè)計,表結(jié)構(gòu)規(guī)劃,數(shù)據(jù)流圖設(shè)計工作。
(2)? 數(shù)據(jù)庫應(yīng)用工程師 主要是數(shù)據(jù)庫配置,安裝,維護(hù)和調(diào)優(yōu)。數(shù)據(jù)庫配置,安裝可以通過培訓(xùn),結(jié)束后基本可以上崗的。維護(hù)就需要數(shù)據(jù)庫工程師具備一定的數(shù)據(jù)庫管理經(jīng)歷了。特別是大型數(shù)據(jù)庫系統(tǒng)還需要工程師具備異構(gòu)平臺的數(shù)據(jù)交互能力,特別是熟悉Unix環(huán)境。調(diào)優(yōu)就不是一般人能做的事了,需要具備sql編程經(jīng)驗,數(shù)據(jù)字典熟悉度,dbms系統(tǒng)構(gòu)架方面的知識。
(3)? 數(shù)據(jù)分析師 主要面向數(shù)據(jù)分析,數(shù)據(jù)挖掘,數(shù)據(jù)倉庫構(gòu)建,etl方面的管理。這樣的人太少了,不但要懂?dāng)?shù)據(jù)庫,還要懂一個行業(yè),能夠進(jìn)行流程分析,最后使用一些數(shù)據(jù)挖掘工具,bi工具來做規(guī)劃。
不管是哪一類數(shù)據(jù)庫工程師,一般發(fā)展方向都是向更高級別的工程師方向發(fā)展,主要是以下三個發(fā)展路徑:
(1)? 繼續(xù)從事技術(shù)專家路線。這是數(shù)據(jù)庫工程師的主流發(fā)展方向,同時也可以兼顧學(xué)習(xí)并實踐一些服務(wù)器(操作系統(tǒng))等方面的知識,可以嘗試對網(wǎng)絡(luò)的基本原理進(jìn)行了解,從而為后續(xù)成為整個基礎(chǔ)設(shè)施方面的專家、架構(gòu)師奠定基礎(chǔ)。當(dāng)然,也可以專注于數(shù)據(jù)庫領(lǐng)域,不求廣,但求精,這也是一個可選的技術(shù)路線。
(2)? 轉(zhuǎn)行做管理。如果覺得自己對人比對機(jī)器感興趣,可以考慮往管理方面轉(zhuǎn)型,畢竟職業(yè)發(fā)展只有和興趣愛好吻合才能事半功倍(可以對自己的特長進(jìn)行測評,作為發(fā)展定位的參考)。機(jī)會好的話,可以爭取一個小項目的項目經(jīng)理機(jī)會,作為轉(zhuǎn)型的開始;但更多的時候,還是需要在"項目經(jīng)理助理"的崗位上過渡一下。不過,技術(shù)可以轉(zhuǎn)管理,但一旦轉(zhuǎn)成管理,則不大可能再轉(zhuǎn)回技術(shù)了。這一點需要考慮清楚。
(3)?轉(zhuǎn)行做銷售。對于有強(qiáng)烈個人成就意識或者是對金錢比較渴望的人,可以嘗試轉(zhuǎn)型去做做售前,再轉(zhuǎn)型做銷售;從工程師直接轉(zhuǎn)銷售的還是比較少,畢竟這是完全不同的兩個領(lǐng)域,建議從售前開始入銷售的門。不過,技術(shù)可以轉(zhuǎn)銷售,但一旦轉(zhuǎn)成銷售,則不大可能再轉(zhuǎn)回技術(shù)了。這一點需要考慮清楚。
0 Comments.