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