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