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