產品DBA、開發DBA、運維DBA的區別?

DBA的工作內容包括:架構設計、資料庫表設計、sql優化、資料庫運維、 性能調優、trouble shooting等等細分的工作。

有些互聯網公司會細分DBA崗位,如產品DBA、運維DBA、開發DBA;有的可能只提供了其中的兩種職位(產品DBA和運維DBA);有的乾脆只有一種職位,就叫DBA。

我想問一下:這些職位的具體區別有哪些?國內的互聯網公司(不限於BAT)是怎麼細分這些職位的?


老實說資料庫團隊不夠規模是不會這麼區分的。

然後簡單說一下個人的看法:

產品DBA:要熟知業務邏輯,了解業務架構,參與業務的庫表設計,甚至要寫業務SQL。總之對業務負責,業務出問題要牽頭處理,和開發聯繫緊密。

運維DBA:更專註於資料庫本身,需要熟悉DB、OS、網路、硬體,可以給出通用的性能優化方案、高可用方案,並負責監控、備份、擴容等通用模塊正常運行,支持產品DBA。(我更喜歡稱之為系統DBA)

開發DBA:這個分兩種,一種是源碼方向,通過修改源碼來解決實際問題,比如提高性能、提高可用性、限流提高安全性等。另一種是自動化方向,在資料庫周邊提供自動化系統來服務資料庫業務。包括但不限於自動運維、監控、日誌、備份、高可用,甚至是中間件、消息匯流排、異構數據同步等等,大部分時間滿足系統DBA的需求。

總的來說,一般產品DBA和運維DBA是不做細分的,有條件的會把開發單獨拎出來,不過大部分基本都是三位一體。

如果用軍隊來比喻的化:

產品DBA--系統DBA--開發DBA

地面部隊--後勤機構--武器研究院

以上是個人愚見,歡迎大家指正。


起薪20k 誠招一個資料庫管理員 。(對不起,實在是太需要了,請知友不要摺疊,留言鄙視我就可以了。。我會回粉的)


其實都差不多的 只是方向重心不同而已


我的前公司跟現在的公司,DBA都至少分成2種類型,叫法略有不同,有的叫開發DBA產品DBA,有的叫產品DBA系統DBA,

開發DBA更靠近業務層面,屬於一線DBA,直接跟開發業務打交道,負責系統設計方面的把關。系統DBA更靠近底層,屬於二線DBA,為一線DBA提供支持,更像是傳統的DBA,負責底層的運維。


實際上,國內的公司根本不細分,因為管理層懂資料庫的不多


只有大公司才會區分,

基本上都是3位一體的,


推薦閱讀:

MySQL多表關聯查詢效率高點還是多次單表查詢效率高,為什麼?
如何才能招到優秀的 MySQL DBA?
分散式系統架構實戰--簡易版支付系統怎麼部署?
為什麼有關MongoDB採用B樹索引,以及Mysql B+樹做索引?

TAG:互聯網 | MySQL | 資料庫管理員DBA |