引導語:數(shù)據(jù)庫管理員是一個負責管理和維護數(shù)據(jù)庫服務器的人,我們一起來了解一些他們的崗位職責和任職條件。

職位概述
數(shù)據(jù)庫管理員(Database Administrator,簡稱DBA),是一個負責管理和維護數(shù)據(jù)庫服務器的人。數(shù)據(jù)庫管理員負責全面管理和控制數(shù)據(jù)庫系統(tǒng)。這個職位對不同的人意味著不同的意義。
數(shù)據(jù)庫管理員崗位職責
1.測試程序或數(shù)據(jù)庫,糾正錯誤,并作出必要的修改
2.修改現(xiàn)有的數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)
3.規(guī)劃、協(xié)調和實施數(shù)據(jù)庫的安全保護措施
4.與其他工作人員協(xié)調一起開發(fā)數(shù)據(jù)庫
5.編寫數(shù)據(jù)庫的說明
6.培訓用戶并回答相關問題
7.指定數(shù)據(jù)庫用戶的訪問級別
8.審批、調度、計劃并監(jiān)督安裝新的數(shù)據(jù)庫
9.審查項目的要求,估計完成項目所需的時間和成本
10.制定標準和準則來指導軟件的使用和授權,以保護信息
11.審查程序,更改數(shù)據(jù)庫中的管理系統(tǒng)手冊
12.開發(fā)整合不同的產品,以滿足不同的需求
13.開發(fā)數(shù)據(jù)模型,闡述數(shù)據(jù)庫的原理
數(shù)據(jù)庫管理員任職條件
技術是指DBA執(zhí)行一項任務時所需要的技能。在數(shù)據(jù)庫環(huán)境的管理與維護中,技術任務可歸結成許多不同的分類。下面列出了一名DBA應掌握的一些技術(排名不分先后)。
1.理解數(shù)據(jù)備份/恢復與災難恢復
恢復已損壞的數(shù)據(jù)庫是每一個DBA應掌握的最重要的技能。DBA需要完全理解數(shù)據(jù)庫所有可能的備份與恢復方法,以及不同備份方法與不同恢復策略的對應關系。此外,DBA還需要與業(yè)務部門合作,一起確認業(yè)務需求,明確用戶能夠容忍的數(shù)據(jù)丟失底線。此外,業(yè)務用戶還需要確定在系統(tǒng)故障情況下,他們的業(yè)務能夠維持多長時間。理解這些需求可以幫助DBA開發(fā)出一個滿足業(yè)務用戶要求的備份/恢復方法。一個優(yōu)秀的DBA要定期測試備份與恢復流程,保證他們有能力恢復業(yè)務數(shù)據(jù),滿足企業(yè)所規(guī)定的業(yè)務數(shù)據(jù)丟失與恢復要求。
2.工具集的使用
所謂工具集,指是的他們要有一組用于執(zhí)行不同DBA任務的腳本。這個工具集應該包含不同的小代碼片段,它們可以快速診斷問題或執(zhí)行一個特定的任務。這些工具腳本應該按DBA的活動類型歸類,如備份、索引維護、性能優(yōu)化、容量管理等。由于總是會執(zhí)行新任務、發(fā)現(xiàn)新問題或找到其他人開發(fā)的好用腳本,因此一個優(yōu)秀的DBA會不斷地給這個工具集增加新腳本。此外,他還應該了解網上哪里能夠找到一些免費的工具和腳本。一個好的DBA知道什么時候可以利用其他人編寫的腳本,從而節(jié)省自己的時間和改進自己的工具集。
3.知道從哪里獲得幫助
即使是數(shù)據(jù)庫大牛,也不可能是無所不知的,每個人都有需要尋求幫助或建議的時候。而知道從何處尋找建議是很重要的。如果一個數(shù)據(jù)庫實例不能按預期方式運轉,那么快速尋找新問題的解決方法也是一個重要能力。一個好的DBA知道如何快速地在網上查找一個未知問題的解決方法。此外,他們也可能已經知道了一些非常不錯的網站,也知道業(yè)界專家會提供一些好建議,同時知道什么時候應該忽略一些不好的建議。你可能想象不到,確實有一些建議不值得參考。
4.知道如何使用原生性能工具
以SQL Server舉例,性能是一個關鍵的問題,因此DBA需要知道如何修復故障和監(jiān)控性能問題,F(xiàn)在有許多第三方性能監(jiān)控工具可以幫助DBA優(yōu)化性能。如果DBA只使用第三方工具,而不會使用SQL Server自帶的原生工具來監(jiān)控性能,那么相信很快就會出現(xiàn)問題。雖然使用第三方工具來監(jiān)控性能也很不錯,但是DBA一定要理解SQL自帶的一些原生工具,如SQL Server Profiler、Database Engine Tuning Advisor、Dynamic ManagementViews、系統(tǒng)/擴展的存儲過程、Extended Events等。許多第三方工具實際上在使用這些底層的原生工具。因此,理解這些自帶的原生工具將有利于增強DBA使用第三方工具的經驗。
5.研究新版本
在技術領域中,沒有什么是一成不變的。每隔兩三年,主流數(shù)據(jù)庫廠商都會發(fā)布一個大版本的更新。DBA應該緊跟新版本所作的修改,它們可能有許多變化方法,最好的方法是遲早介入這個過程。測試版開放后馬上下載和安裝,盡快掌握第一手使用經驗。一名好的DBA總是走在學習排頭兵,總是會第一時間安裝和測試新版本。這樣他們就可以盡早理解新特性,然后提出一些合理的新建議,幫助組織更好地利用新版本數(shù)據(jù)庫。
6.理解代碼最佳實踐方法
DBA應該了解如何編寫高效的代碼。有許多糟糕的編碼實踐方法會導致拙劣的性能。一名好的DBA要能夠理解和識別這些糟糕的編碼實踐方法,知道如何修改這些爛代碼,讓它們變成高效代碼。此外,他們還要記錄下寫代碼的最佳實踐方法,并且將這些實踐方法分享給其他人。
7.持續(xù)不斷地學習
數(shù)據(jù)庫及其組件涉及面非常廣。DBA很難理解一個技術的方方面面。DBA需要持續(xù)學習如何管理數(shù)據(jù)庫。這個學習過程有很多方法。其中之一就是參加正式培訓。但是,并非人人都有這樣充裕的事件和金錢,也并非人人都能夠放下手頭工作專門出去參加正式的培訓。但是,還有許多其他方法可以獲得培訓,而且大多數(shù)還是免費的。一名好的DBA一定要訂閱一些定期發(fā)布數(shù)據(jù)庫新技巧和新文章的社區(qū)網站。此外,他還應該加入一些用戶組織,可以在周末參加一些當?shù)氐拿赓M沙龍活動。
8.數(shù)據(jù)庫安全性
在最近一段時間里,安全性是一個熱門話題。DBA應該完全掌握如何實現(xiàn)數(shù)據(jù)庫的安全訪問。他們應該理解操作系統(tǒng)身份驗證和數(shù)據(jù)庫身份驗證的區(qū)別,以及它們各自的使用場合。他們應該理解如何使用數(shù)據(jù)庫角色來管理不同類型用戶的安全配置。他們應該理解連接數(shù)據(jù)庫的端口與協(xié)議。此外,他們還應該理解如何加密整個數(shù)據(jù)庫,或者加密一個數(shù)據(jù)庫中一個表的某一個字段,同時理解關于加密數(shù)據(jù)的各種問題。
9.數(shù)據(jù)庫設計
決定數(shù)據(jù)庫性能的一個關鍵問題是數(shù)據(jù)庫設計。DBA需要理解關于數(shù)據(jù)庫設計的各個方面。他們要能夠理解設計好壞的區(qū)別。他們需要理解為什么使用正確的外鍵約束、主鍵、檢查約束和使用數(shù)據(jù)類型能夠保持數(shù)據(jù)庫的數(shù)據(jù)完整性和實現(xiàn)高效的數(shù)據(jù)查詢與更新。
10.索引設計
數(shù)據(jù)庫索引是提高應用程序檢索和更新數(shù)據(jù)速度的重要環(huán)節(jié)。DBA需要知道索引的工作原理。他們應該知道聚簇索引和非聚簇索引的區(qū)別,知道這些索引的物理存儲方式。DBA應該知道如何在執(zhí)行計劃中使用這些索引。他們應該理解如何找到索引的使用統(tǒng)計、理解索引碎片及如何發(fā)現(xiàn)丟失的索引。他們應該知道如何維護索引,以及索引統(tǒng)計信息對于查詢引擎的重要作用。
11.容量監(jiān)控與規(guī)劃
數(shù)據(jù)庫往往要使用大量的資源,包括CPU、內存、I/O及磁盤空間。DBA應該理解如何監(jiān)控數(shù)據(jù)庫所需要的不同主機資源的用量。他們應該能夠理解這些資源在不同時間的使用情況,以及利用歷史使用數(shù)據(jù)來規(guī)劃未來的容量需求。在監(jiān)控過程中,DBA應該能夠預見到容量規(guī)劃會在將來什么時候出現(xiàn)問題,然后采取必要的措施保持數(shù)據(jù)庫不會因為容量限制而出現(xiàn)中斷。
12.數(shù)據(jù)庫許可證
不同的產品有許多不同的許可證授權方式。而且,同一款產品本身又有許多不同的版本。DBA應該理解所負責的數(shù)據(jù)庫版本的不同授權模式。他們應該能夠提供指導如何通過合理購買授權來減少現(xiàn)在的數(shù)據(jù)庫總擁有成本,以及如何合理利用授權方法來降低未來版本的升級成本。
13.盡可能實現(xiàn)自動化
DBA每天都需要執(zhí)行許多的日常任務。其中一些任務需要每天執(zhí)行,而另一些則每周、每月或每年執(zhí)行。一名好的DBA需要理解如何高效地安排自己的時間。其中一種方法是建立工作流程,這些日常任務的自動執(zhí)行。通過實現(xiàn)日常任務的自動化執(zhí)行,DBA就可以用更多的時間去關注于數(shù)據(jù)庫環(huán)境管理中遇到的嚴重問題。
本文只是表達了筆者個人對于DBA應具備的重要特質的看法。你具備的特質越多,作為DBA的你就越優(yōu)秀。成為一名成功DBA的關鍵是不斷地學習與提高,努力去掌握更多關于如何管理和維護數(shù)據(jù)庫環(huán)境的知識。
很多時候管理人員都忽視了DBA的個性特點,他們只關注DBA的技術能力。實際上,上面談到的每個職責都意味著:DBA需要跟各種人員打交道,這些人員可能是銷售商、用戶、開發(fā)人員或者管理人員。這說明:DBA必須具有下面的個性特點:自信心、好奇心、堅韌的意志力、老練、自我驅動、注意細節(jié)。
技術是指DBA執(zhí)行一項任務時所需要的技能。在數(shù)據(jù)庫環(huán)境的管理與維護中,技術任務可歸結成許多不同的分類。下面列出了一名DBA應掌握的一些技術(排名不分先后)。
數(shù)據(jù)庫管理員職位的工作經驗人群比例
無(10%)
1年以下(10%)
1-3年(11%)
3-5年(31%)
5-10年(21%)
10年以上(13%)
數(shù)據(jù)庫管理員職業(yè)發(fā)展路徑
職位的匯報上級
、買T項目經理
、诋a品研發(fā)經理
③技術經理
職位的管理下屬
數(shù)據(jù)庫工程師
職位的轉職目的
、傺邪l(fā)經理
、诩夹g經理
企業(yè)招聘數(shù)據(jù)庫管理員可與獵頭網合作,快速招聘到合適的人才。