標籤:mysql dba 職責 素質 技能
作為一個DBA,核心目標也是終極目標:保證資料庫管理系統的穩定性、安全性、完整性和高效能。
MySQL DBA分為兩種:一種是開發DBA,一種是營運DBA,這裡說的MySQL DBA是指營運DBA。一般意義上的DBA指的是營運DBA,只是負責資料庫的運營和維護,包括資料庫的安裝、監控、備份、恢複等基本工作,而進階或資深DBA職責比這個大得多,需要覆蓋產品從需求設計、測試到交付上線的整個生命週期,在此過程中不僅要負責資料庫管理系統的搭建和營運,更要參與到前期的資料庫設計,中期的資料庫測試和後期的資料庫容量管理和效能最佳化。
對於營運DBA來說,主要的職責為以下幾點:
1)監控:對資料庫服務啟動並執行狀態進行即時的監控,包括資料庫會話、資料庫日誌、資料檔案片段、資料表空間監控、使用者訪問監控等,隨時探索資料庫服務的運行異常和資源消耗情況;輸出重要的日常資料庫服務運行報表以評估資料庫服務整體健全狀態,探索資料庫隱患;監控對於DBA來說是至關重要的,是DBA的第三隻眼睛,利於監控可以自動處理一些常規的故障,提前發現並解決潛在隱患,監控對於營運是必備的技能,如果你不懂監控,那麼你就不是一個稱職的營運人員;
2)備份:制定和實施Database Backup計劃,災難出現時對資料庫資訊進行恢複,維護適當介質上的存檔或者備份資料。對資料庫的備份策略要根據實際要求變更,資料的日常備份情況進行監控。
3)安全審計:為不同的資料庫管理系統使用者規定不同的存取權限,以保護資料庫不被未經授權的訪問和破壞。例如,允許一類使用者只能檢索資料,而另一類使用者可能擁有更新資料和刪除記錄的許可權。
4)故障處理:對資料庫服務出現的任何異常進行及時處理,儘可能避免問題的擴大化甚至中止服務。這之前DBA需要針對各類服務異常,如機房/網路故障、程式bug等問題制定處理的預案,問題出現時可以自動或手動執行預案達到止損的目的。
5)容量管理:包括資料庫規模擴張後的資源評估、擴容、機房遷移、流量調度等規劃和具體實施。
6)資料庫效能最佳化:產品對外提供服務最重要的一點是使用者體驗,使用者體驗中非常重要的是產品的可用性和響應速度。而如何用最合理的資源支援產品提供高可用和高速度的使用者體驗,這也是DBA的重要職責。
個人認為,一個好的DBA所需要具備的基本技能包含:理解資料備份/恢複與災難恢複、DBA常用工具集的使用、知道如何快速尋找答案、知道如何監控和最佳化資料庫效能、儘可能實現自動化、容量監控與規劃、索引設計、資料庫設計、資料庫安全性、持續不斷地學習和研究新版本、可以單獨的編寫單獨或者系統的功能指令碼;性格決定命運,DBA也是這樣,性格決定高度,有些DBA做了很多年,依然是在做最底層的東西,歸根到底可能與本身的性格有關,不思進取,工作不主動,說多少做多少,時間觀念不強等,這樣的性格在個人的職業生涯中不會有突出的成就。遇到過有些DBA都出書了,理論等技能肯定是沒問題的,但是做事毛糙,考慮問題時不全面,時不時的出點小事故,有時候做事總覺得過得去就行,面試的時候給人的印象是極好的,可是工作起來就能看出問題了,每在一個公司呆的時間都不長。一個優秀的DBA,應該具備的硬性素質包含工作認真細緻,勤于思考,良好的溝通能力、具有團隊合作精神,自我驅動能力或者說工作的主動性,堅韌的意志力和沉著的心態,好奇心和自信心等;基本技能是基礎,DBA必備的,只是基礎而已,如果談優秀的話,那麼良好的性格等素質決定你可以在職業生涯中能走多遠。
本文出自 “王偉” 部落格,請務必保留此出處http://wangwei007.blog.51cto.com/68019/1718311
我心中的MySQL DBA