原創|行業資訊|編輯:status|2020-10-10 10:57:40.277|閱讀 1153 次
概述:因為程序猿大多數是具備數據庫安裝、備份等基本維護能力的,因此絕大多數中小IT企業是沒有專職DBA這個崗位的,但是DBA這個崗位絕對不僅限于字面上的管理數據庫這么簡單。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
從職友集網站收集的數據中心可以看到,DBA平均工資 ¥17.8K,其中拿 20K-30K 工資的占比最多,達 30.5%,dba工資按學歷統計,中專工資¥7.7K,大專工資¥14.8K,本科工資¥18.2K。忽略統計方法中存在的誤差,DBA絕對是IT界超越同等年限工程師收入水平。
別看DBA工資高,但是職能和技能上的要求也不會低。簡單來說,你得是一個程序猿,然后才是一個DBA:如何寫程序不需要太專業,但是如何從數據庫方面優化程序運行效率必須很專業。
DBA的職能
產品的整個生命周期里數據庫管理員的職責重要而廣泛,這催生了各個縱向的運維技術方向,凡是關系到數據庫質量、效率、成本、安全等方面的工作,及涉及到的技術、組件,主要包括:
DBA的基本能力
數據庫管理員以技術為基礎,通過技術保障數據庫提供更高質量的服務。在這里板磚列舉9大DBA基本能力,足以應對龐大的業務工作。
1.理解數據備份/恢復與災難恢復
恢復已損壞的數據庫是每一個DBA應掌握的最重要的技能。DBA需要完全理解數據庫所有可能的備份與恢復方法,以及不同備份方法與不同恢復策略的對應關系。最重要的并不是每一條數據都具有價值,因此和業務部門的溝通也必不可少。
2.工具集的使用
工具集指是的用于執行不同DBA任務的腳本。這個工具集應該包含不同的小代碼片段,它們可以快速診斷問題或執行一個特定的任務。這些工具腳本應該按DBA的活動類型歸類,如備份、索引維護、性能優化、容量管理等,一些優秀的DBA甚至會通過腳本實現每日、周、月固定工作的自動化。
3.知道如何快速尋找答案
數據庫問題造成的影響總是遠遠大于應用程序的。數據庫的故障從硬件到網絡,從性能壓力到程序bug,DBA都要從容應對,一一排除。即使是數據庫大牛,也不可能是無所不知的,因此每個DBA一方面需要不斷學習,積累操作系統、網絡、硬件、存儲系統、分布式計算等理論基礎,另一方面還要有快速尋找新問題解決方法的能力。
4.知道如何監控和優化數據庫性能
對于任何數據庫產品,性能都尤其重要,它會直接影響產品的響應速度和用戶體驗。對于一個DBA來說,性能優化一般需要占用50%的工作時間,因此DBA需要知道如何監控和優化數據性能。因此使用數據庫自帶的DBMS或者第三方工具尤為重要。
5.研究新版本
數據庫版本更新頻率不慢,并且特性還賊多,DBA應該緊跟新版本所作的修改,測試版開放后馬上下載和安裝,盡快掌握第一手使用經驗,然后提出一些合理的新建議,幫助組織更好地利用新版本數據庫。
6.理解代碼最佳實踐方法
DBA應該了解如何編寫高效的代碼。一名好的DBA要能夠理解和識別這些糟糕的編碼實踐方法,知道如何修改這些爛代碼,讓它們變成高效代碼。此外,他們還要記錄下寫代碼的最佳實踐方法,并且將這些實踐方法分享給其他人。
7.數據庫安全性
安全性是一個熱門話題。DBA應該完全掌握如何實現數據庫的安全訪問。他們應該理解操作系統身份驗證和數據庫身份驗證的區別,以及它們各自的使用場合。
8.數據庫設計
決定數據庫性能的一個關鍵問題是數據庫設計,普通程序猿設計的數據庫表或許滿足了一般使用,但是對高性能運行還是存在缺漏的。DBA需要理解為什么使用正確的索引、外鍵約束、主鍵、檢查約束和使用數據類型能夠保持數據庫的數據完整性和實現高效的數據查詢與更新。
9.容量監控與規劃
數據庫往往要使用大量的資源,包括CPU、內存、I/O及磁盤空間。DBA應該理解如何監控數據庫所需要的不同主機資源的用量。他們應該能夠理解這些資源在不同時間的使用情況,以及利用歷史使用數據來規劃未來的容量需求。在監控過程中,DBA應該能夠預見到容量規劃會在將來什么時候出現問題,然后采取必要的措施保持數據庫不會因為容量限制而出現中斷。
DBA的入門工具
從DBA的8大職能和9大能力要求出發,很多1-3年的從業者還未完全掌握這些,因此除了突發性狀況的應對經驗以外,板磚為大家準備了2套標準的DB運管工具。為什么板磚不像其他博主一次性介紹TOP10工具呢?用一兩套軟件就能集中管理多種數據庫,靈活應變多種管理要求難道不香嗎?
Navicat全家桶 或許已經有不少DBA已經用上了Navicat其操作簡便中文交互體驗度很好,推薦Navicat Premium(覆蓋所有數據庫開發和管理工作)、Navicat Monitor(安全簡單而且無代理的遠程服務器監控工具,受監控的服務器包括 MySQL、MariaDB 和 SQL Server)、Navicat Data Modeler(功能強大、性價比高的數據庫設計工具,可幫助你創建高質量的概念、邏輯和物理數據模型。它支持各種數據庫系統,包括MySQL、MariaDB、Oracle、SQL Server、PostgreSQL 和 SQLite)。
Devart工具包(dbForge)同樣作為全球大企業是用的最多的數據庫管理工具包,它的特色體現的更為靈活(每種數據庫都有管理工具)
SQL DBA Bundle運管工具包 SQL DBA Bundle可以幫您:集成備份并節省空間、壓縮、驗證、SQLServer備份加密、適用于腳本備份的靜音壓縮技術、SQL Sever監控和報警、實時性能監控和報警、基于網絡的用戶友好界面、智能災難恢復與OLR、可在現場直接從備份中快速加載完整功能的數據庫、無需使用物理手段進行還原、快速節省預算、減少所使用的磁盤空間、加快還原速度(傳送門)。
要說Devart和Navicat哪一個更適合DBA長久使用,推薦大家看這一篇。
當然,作為DBA有權選擇更多的小而美的管理工具(板磚推薦的3大運管工具包表示我們可以打10個),歡迎有需求的管理員們參考:
NO1: PD(PowerDesigner)
功能:SysBase公司提供的數據庫設計工具,功能很強大,是做數據庫設計時必備的工具;
NO2: Log Explorer
功能:數據庫日志讀取工具,主要用來恢復誤操作的數據(目前只支持到2005版本),詳見:
NO3:Tuning Advisor
功能:優化顧問,會根據數據庫的運行情況,提示您做相關的優化(可靠性不是太高,需要自行判斷);
NO4:SSMSTools
功能:SSMS工具的一個插件,能提供格式化代碼、追溯歷史等功能(通過它,也許你可以開發自己的插件);
NO5: DBDiff & TableDiff
功能:第一個是比較兩個數據庫結構的差異,第二個可用來比較表中數據的差異(而且能生成相關的腳本);
NO6:PAL Tool
功能:Performance Analysis of Logs,Perfmon日志分析工具;
NO7:RML
功能:它的四個主要功能組件;ReadTrace工具能讀取數據庫的Profile跟蹤文件,并生成報告;Ostress能將ReadTrace生成的文件重播,而且還可以對數據庫做壓力測試;ORCA能保證重報時,按照事件發生的順序播放;Reporter能將ReadTrace后的內容通過報表的形式展現,相當的有用。
NO8:SqlNexus
功能:先通過SQLServer自帶的SQLdiag.exe工具收集信息,然后再用SqlNexus分析這些信息,它是前面一些工具的整合,為數據庫管理人員尋找SQLServer服務器的性能瓶頸和排查故障提供了相當強大的支持;
NO9:SQLIO & SQLIOSim
功能:磁盤IO壓力測試工具,SQLIO主要是模擬隨機或者順序的方式來測試磁盤IO的性能;SQLIOSim是模擬SQLServer的行為來測試IO性能;
NO10:SqlMonitor & SSBDiagnose
功能:SqlMonitor是監控Replication和Mirror的必會工具,SSBDiagnose是測試SSB配置的工具;
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn