如果你目前是DBA,此條目的標題可能會讓你嗤之以鼻。但不是每個人都知道DBA是什麼,是什麼,或者為什麼需要它們。如果你的工作得到更好的理解和欣賞,那麼作為一名DBA,這不符合你的最佳利益嗎?
使用資料庫管理系統(DBMS)管理數據的每個組織都需要一個資料庫管理組來監督和確保公司數據和資料庫的正確使用和部署。隨著數據的不斷增長以及有效組織數據以為業務創造價值的需求,大多數現代組織都使用DBMS來獲取最關鍵的數據。因此,現在對資料庫管理員(DBA)的需求比以往任何時候都要大。但是,資料庫管理的規則並未得到很好的理解,也沒有以連貫且易於複製的方式普遍實施。
在組織中實施DBA功能需要仔細考慮和規劃。成功的DBA必須掌握大量技術 - 技術和人際關係。讓我們來看看有效的DBA所需的技能。
一般資料庫管理。DBA是組織中資料庫知識的核心來源。因此,他必須了解關係資料庫技術的基本規則,並能夠準確地將它們傳達給他人。
數據建模和資料庫設計。DBA必須擅長收集和分析用戶需求,以獲得概念和邏輯數據模型。這比聽起來更難。概念數據模型概述了非常高的數據要求; 邏輯數據模型提供數據類型,長度,關係和基數的深入細節。DBA使用規範化技術來提供準確描述業務數據需求的聲音數據模型。(當然,如果你的組織足夠大,則可能存在完全獨立的數據管理員組來處理邏輯資料庫設計和數據建模。)
元數據管理和存儲庫使用。DBA必須了解組織的技術數據要求。但這並不完全描述他的職責。還必須維護元數據或有關數據的數據。DBA必須收集,存儲,管理並提供查詢組織元數據的功能。沒有元數據,存儲在資料庫中的數據缺乏真正的意義。(再次,如果你的公司有一個數據管理組,那麼該任務將由該組處理。當然,這並不意味著DBA可以忽略元數據管理。)
資料庫模式創建和管理。DBA必須能夠將數據模型或邏輯資料庫設計轉換為實際的物理資料庫實現,並在實現後管理該資料庫。由於物理DBMS特徵,實現因素或性能要求,物理資料庫可能不符合100%的邏輯模型。DBA必須了解其組織使用的每個DBMS的所有物理細微差別,以便創建有效的物理資料庫。
容量規劃。由於數據消耗和使用量持續增長,DBA必須準備好支持更多數據,更多用戶和更多連接。基於應用程式和數據使用模式預測增長並實施必要的資料庫更改以適應增長的能力是DBA的核心功能。
編程和開發。雖然DBA通常不編寫新的應用程式,但他/她確實需要知道如何編寫有效的程序。此外,DBA是生產周轉,程序優化(BIND / REBIND)和管理以及其他基礎架構管理的關鍵參與者,可使應用程式有效且高效地運行。
SQL代碼評論和演練。儘管應用程式員通常編寫SQL,但DBA可能會因性能不佳而受到指責。因此,DBA必須具備深入的SQL知識,以便他們能夠理解和查看SQL和宿主語言程序,以便推薦更改以進行優化。
績效管理和調整。處理性能問題通常是DBA面臨的最大的實施後噩夢。因此,DBA必須能夠主動監視資料庫環境並對數據結構,SQL,應用程式邏輯和DBMS子系統本身進行更改,以優化性能。
確保可用性。應用程式和數據越來越多,每周7天,每天24小時都可用。全球化和電子商務正在推動許多組織實施無宕機,全天候系統。要在這樣的環境中進行管理,DBA必須使用無中斷的管理策略來確保數據可用性。
數據移動。數據一旦存儲在資料庫中,就不是靜態的。數據可能需要從一個資料庫移動到另一個資料庫,從DBMS移動到外部數據集,或從事務處理系統移動到數據倉庫。DBA負責根據組織需求高效準確地將數據從一個地方移動到另一個地方。
備份和恢復。DBA必須根據數據波動性和應用程式可用性要求為每個資料庫文件實施適當的資料庫備份和恢復策略。如果沒有備份和恢復策略,系統和用戶錯誤可能會導致資料庫無法運行且無用。此外,必須在考慮恢復時間目標的情況下制定備份策略,以便在不可避免地出現問題時長時間不能使用數據。這可能是絕對的,最重要的資料庫管理任務之一。
確保數據完整性。DBA必須能夠設計資料庫,以便只輸入和維護準確和適當的數據。為此,DBA可以部署多種類型的資料庫完整性,包括實體完整性,參照完整性,檢查約束和資料庫觸發器。此外,DBA必須確保資料庫的結構完整性。數據完整性就在於重要級別的備份和恢復。
程序技巧。現代資料庫不僅僅包含數據 - 它們還包含程序代碼。DBA必須具備程序技能,以幫助設計,調試,實現和維護存儲在DBMS中並由應用程式系統使用的存儲過程,觸發器和用戶定義的函數。
可擴展的數據類型管理。可以使用用戶定義的數據類型擴展現代DBMS的功能。DBA必須了解DBMS供應商如何實現這些擴展數據類型,並能夠實現和管理在其資料庫中實現的任何擴展數據類型。
數據安全。DBA負責確保只有授權用戶才能訪問數據。這需要為生產和測試資料庫實施嚴格的安全基礎設施。數據安全性包括DBMS安全性(撤銷/授權)和外部資源的安全性(文件結構,用戶ID等)。
資料庫審計。能夠報告誰做了哪些數據,以及他們如何對數據採取行動,是許多政府和行業標準和合規性規範的要求。DBA需要參與設置和啟用DBMS以實現資料庫審計功能。
一般系統管理和網絡技能。實施資料庫後,將在整個組織中訪問該資料庫並與其他技術進行交互。因此,DBA必須能夠充當所有交易的插孔,以便將資料庫管理要求和任務與一般系統管理要求和任務(如作業調度,網絡管理,事務處理等)集成。
業務知識。DBA必須了解應用程式用戶的要求,並能夠管理其資料庫以避免業務中斷。如果沒有充分了解其資料庫和數據為企業提供的價值,DBA就不太可能實施優化業務使用數據的策略。
數據存檔。當出於商業目的不再需要數據但必須為合法目的維護數據時,需要從操作資料庫中刪除數據,但是以電子發現和法律要求仍然可訪問的方式存儲數據。這是資料庫歸檔。
企業資源規劃(ERP)。企業資源規劃(ERP)軟體包給DBA帶來了額外的負擔。大多數ERP應用程式(SAP,Peoplesoft等)使用不同於本土應用程式的資料庫,要求DBA了解ERP應用程式如何影響業務以及這些程序包使用的資料庫與傳統關係資料庫的不同之處。
特定於Web的技術專長。對於電子商務,DBA需要具備Internet和Web技術知識,以使資料庫能夠參與基於Web的應用程式。此類技術的示例包括HTTP,FTP,XML,CGI,Java,TCP / IP,Web伺服器,防火牆和SSL。其他DBMS特定技術包括IBM的Net.Data for DB2和Oracle Portal(以前稱為WebDB)。
存儲管理技術。存儲在每個資料庫中的數據駐留在磁碟上(除非它存儲在新的主存儲器DBMS產品之一上)。DBA必須了解可用的存儲硬體和軟體,以及它與正在使用的DBMS的交互方式。因此,DBA必須能夠分配,監視和管理資料庫使用的存儲。
最重要的是,DBA必須是一個全面的工作人員,能夠理解業務和技術的多個方面。DBMS是當今IT組織的核心 - 因此負責保持DBMS按預期運行的任務,DBA將參與大多數IT計劃。