產品DBA、開發DBA、運維DBA的區別?
01-12
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+樹做索引?