以下是個人總結(jié)的幾種數(shù)據(jù)發(fā)展方向的職業(yè),希望對大家確定自己的職業(yè)方向和重點(diǎn)有一點(diǎn)幫助。
數(shù)據(jù)庫應(yīng)用開發(fā) (application development)
除了基本的SQL方面的知識,還要對開發(fā)流程,軟件工程,各種框架和開發(fā)工具等等,數(shù)據(jù)庫應(yīng)用開發(fā)這個方向上的機(jī)會最多,職位最多。SQL培訓(xùn)
數(shù)據(jù)構(gòu)架師 (Data Architect)
主要從全局上制定和控制關(guān)于數(shù)據(jù)庫在邏輯這一層的大方向,也包括數(shù)據(jù)可用性,擴(kuò)展性等長期性戰(zhàn)略,協(xié)調(diào)數(shù)據(jù)庫的應(yīng)用開發(fā),建模,DBA之間的工作。 這個方向上在大公司(金融,保險,研究,軟件開發(fā)商等)有專門職位,在中小公司或者沒有這個職位,或者由開發(fā)人員,DBA負(fù)責(zé)。
商業(yè)智能專家 (business intelligence - BI)
主要從商業(yè)應(yīng)用,最終用戶的角度去從數(shù)據(jù)中獲得有用的信息,涉及OLAP (online analytical processing) ,需要使用SSRS, cognos, crystal report等報表工具,或者其他一些數(shù)據(jù)挖掘,統(tǒng)計(jì)方面的軟件工具。
ETL開發(fā) (ETL Developer)
使用ETL工具或者自己編寫程序在不同的數(shù)據(jù)源之間對數(shù)據(jù)進(jìn)行導(dǎo)入,導(dǎo)出,轉(zhuǎn)換,所接觸的數(shù)據(jù)庫一般數(shù)據(jù)量非常大,要求進(jìn)行的數(shù)據(jù)轉(zhuǎn)換也比較復(fù)雜。和數(shù)據(jù)倉庫和商業(yè)智能的關(guān)系比較密切。在一些數(shù)據(jù)庫應(yīng)用規(guī)模很大的公司里面有專門的職位,中小公司里面則可能由程序員或者DBA負(fù)責(zé)這方面的工作。
數(shù)據(jù)建模專家 (data modeler)
除了基本的SQL方面的知識,非常熟悉數(shù)據(jù)庫原理,數(shù)據(jù)建模。負(fù)責(zé)將用戶對數(shù)據(jù)的需求轉(zhuǎn)化為數(shù)據(jù)庫物理設(shè)計(jì)和物理設(shè)計(jì)。這個方向上在大公司(金融,保險,研究,軟件開發(fā)商等)有專門職位,在中小公司則可能由程序員承擔(dān)。
數(shù)據(jù)倉庫專家 (data warehouse - DW)
應(yīng)付超大規(guī)模的數(shù)據(jù),歷史數(shù)據(jù)的存儲,管理和使用,和商業(yè)智能關(guān)系密切,很多時候BI和DW是放在一個大類里面的, 但是我覺得DW更側(cè)重于硬件和物理層上的管理和優(yōu)化。
存儲工程師 (storage engineer) 。專門負(fù)責(zé)提供數(shù)據(jù)存儲方案,使用各種存儲技術(shù)滿足數(shù)據(jù)訪問和存儲需求,和DBA的工作關(guān)系比較密切。 對高可用性有嚴(yán)格要求(比如通信,金融,數(shù)據(jù)中心等)的公司通常有這種職位,這種職位也非常少。
性能優(yōu)化工程師 (performance engineer)
專長數(shù)據(jù)庫的性能調(diào)試和優(yōu)化,為用戶提供解決性能瓶頸方面的問題。至少IBM, 微軟和Oracle都有專門的數(shù)據(jù)庫性能實(shí)驗(yàn)室(database performance lab), 也有專門的性能優(yōu)化工程師,負(fù)責(zé)為其數(shù)據(jù)庫產(chǎn)品和關(guān)鍵應(yīng)用提供這方面的技術(shù)支持。對數(shù)據(jù)庫性能有嚴(yán)格要求的公司(比如金融行業(yè))可能會有這種職位。因?yàn)獒槍π院軓?qiáng),甚至要求對多種數(shù)據(jù)庫非常熟悉,所以職位極少。
數(shù)據(jù)庫管理員 (database administrator - DBA)
數(shù)據(jù)庫的安裝,配置,調(diào)優(yōu),備份/恢復(fù),監(jiān)控,自動化等,協(xié)助應(yīng)用開發(fā)(有些職位還要求優(yōu)化SQL,寫存儲過程和函數(shù)等)。這個方向上的職位相對少一些,但一般有點(diǎn)規(guī)模的公司還是會有這樣的職位
高級數(shù)據(jù)庫管理員 (senior DBA)
在DBA的基礎(chǔ)上,還涉及上面3種職位的部分工作,具體包括下面這些:
對應(yīng)用系統(tǒng)的數(shù)據(jù)(布局,訪問模式,增長模式,存儲要求等)比較熟悉。
對性能優(yōu)化非常熟悉,可以發(fā)現(xiàn)并優(yōu)化從SQL到硬件I/O,網(wǎng)絡(luò)等各個層面上的瓶頸。
對于存儲技術(shù)相對熟悉,可能代替存儲工程師的一些工作。
對數(shù)據(jù)庫的高可用性技術(shù)非常熟悉(比如MSSQL的集群,ORACLE RAC/FailSafe, IBM的DPF, HADR等)
對大規(guī)模數(shù)據(jù)庫有效進(jìn)行物理擴(kuò)展(比如表分區(qū))或者邏輯擴(kuò)展(比如數(shù)據(jù)庫分區(qū),聯(lián)合數(shù)據(jù)庫等)。熟悉各種數(shù)據(jù)復(fù)制技術(shù),比如單向,雙向,點(diǎn)對點(diǎn)復(fù)制技術(shù),以滿足應(yīng)用要求。 災(zāi)難數(shù)據(jù)恢復(fù)過程的建立,測試和執(zhí)行 。這種職位一般只在對數(shù)據(jù)庫要求非常高并且規(guī)模非常大(比如金融,電信,數(shù)據(jù)中心等)的公司需要,而且這種公司一般有一個專門獨(dú)立負(fù)責(zé)數(shù)據(jù)庫的部門或組。