資料庫管理師(Database Administrator, 簡稱 DBA),顧名思義就是從事跟資料庫管理系統相關的專業人員。一般資料庫管理系統指的是關聯性資料庫 (Relational Database Management System, RDBMS), 常見的有 SQL Server, Oracle, MySQL, DB2。近幾年來隨著大數據的掘起,人工智慧與機器學習被廣泛討論與運用,許多企業 IT 紛紛引進 NoSQL ( Not only SQL) 非關聯性資料庫,不想落後在大數據領域羣雄掘起的起跑點。也因為如此, 有些 DBA 也開始需要維護管理 NoSQL 資料庫。
DBA 職責涉及到的領域很廣,包括規劃資料庫容量、安裝、高可用性與災難復原的配置設計,關聯性資料元件的設計、開發、測試、作業傳遞、效能監視、安全性監控、故障排除、備份和復原等維護工作,內容包羅萬象。
在規模較小公司的 DBA 可能要全部包辦上述的所有工作。但是在較具規模的企業 IT 裏, 資料庫管理部門通常又會將 DBA 分成下面三種類型。
1. Production DBA
主要職責是資料庫安裝、運作、維護、故障排除、效能調校,軟體使用授權規劃、高可用性 (HA, High Availability) 與災難復原 (DR, Disaster Recovery) 的設計測試與執行。
2. Development DBA
主要職責是資料庫元件與關聯性的設計、編寫 SQL queries 與 Stores Procedures 的程式碼、協助測試應用程式與資料庫的聯結與功能應用。
3. DevOps DBA
主要職責是資料庫變更的部署,SQL queries 調校, 效能監控。
資料庫是介於 Infrastructure 與應用程式之間的重要元件,DBA 除了對資料庫管理要有紮實的專業技能之外, 也要不斷地持續學習新的技術與技能,擴展其他領域的見識。相對的,這也才可以造就 DBA 工作的穩定性、專業性與不可替代性。