如果你現在是DBA,這篇文章的標題可能會讓你嗤之以鼻。但不是每個人都知道DBA是什麼,是什麼,或者為什麼需要它們。所以讓我們給每個人4-1-1,這樣你就可以更好地理解和欣賞。
使用資料庫管理系統(DBMS)管理數據的每個組織都需要一個資料庫管理組來監督和確保公司數據和資料庫的正確使用和部署。隨著數據的不斷增長以及有效組織數據以為業務創造價值的需求,大多數現代組織都使用DBMS來獲取最關鍵的數據。因此,現在對資料庫管理員(DBA)的需求比以往任何時候都要大。但是,資料庫管理的學科還沒有得到很好的理解,也沒有以連貫和容易複製的方式普遍實施。
在組織中實施DBA功能需要仔細考慮和規劃。成功的DBA必須掌握大量技術 - 技術和人際關係。讓我們來看看有效的DBA所需的技能。
1.通用資料庫管理。DBA是組織中資料庫知識的核心來源。因此,他必須了解關係資料庫技術的基本規則,並能夠準確地將它們傳達給他人。
2.數據建模和資料庫設計。DBA必須擅長收集和分析用戶需求,以獲得概念和邏輯數據模型。這比聽起來更難。概念數據模型概述了非常高的數據要求; 邏輯數據模型提供數據類型,長度,關係和基數的深入細節。DBA使用規範化技術來提供準確描述業務數據需求的聲音數據模型。(當然,如果.你的組織足夠大,可能存在一組完全獨立的數據管理員來處理邏輯資料庫設計和數據建模。)
3.元數據管理和存儲庫使用。DBA必須了解組織的技術數據要求。但這不是她職責的完整描述。還必須維護元數據或有關數據的數據。DBA必須收集,存儲,管理並提供查詢組織元數據的功能。沒有元數據,存儲在資料庫中的數據缺乏真正的意義。(再次,如果.你的公司有一個數據管理組,那麼該任務將由該組處理。當然,這並不意味著DBA可以忽略元數據管理。)
4.資料庫模式的創建和管理。DBA必須能夠將數據模型或邏輯資料庫設計轉換為實際的物理資料庫實現,並在實現後管理該資料庫。由於物理DBMS特徵,實現因素或性能要求,物理資料庫可能不符合100%的邏輯模型。DBA必須了解其組織使用的每個DBMS的所有物理細微差別,以便創建有效的物理資料庫。
5.容量規劃。由於數據消耗和使用量持續增長,DBA必須準備好支持更多數據,更多用戶和更多連接。能夠根據應用程式和數據使用模式預測增長,並實現必要的資料庫更改以適應這種增長,這是DBA的核心功能。
6.編程和開發。儘管DBA通常不編寫新的應用程式,但她確實需要知道如何編寫有效的程序。此外,DBA是生產周轉,程序優化(BIND / REBIND)和管理以及其他基礎架構管理的關鍵參與者,可使應用程式有效且高效地運行。
7.SQL代碼審查和演練。儘管應用程式員通常編寫SQL,但DBA可能會因性能不佳而受到指責。因此,DBA必須具備深入的SQL知識,以便他們能夠理解和查看SQL和宿主語言程序,以便推薦更改以進行優化。
8.績效管理和調整。處理性能問題通常是DBA面臨的最大的實施後噩夢。因此,DBA必須能夠主動監視資料庫環境並對數據結構,SQL,應用程式邏輯和DBMS子系統本身進行更改,以優化性能。
9.確保可用性。越來越多的應用程式和數據需要每周7天,每天24小時運行。全球化和電子商務正在推動許多組織實施無宕機,全天候系統。要在這樣的環境中進行管理,DBA必須使用無中斷的管理策略來確保數據可用性。
10.數據移動。數據一旦存儲在資料庫中,就不是靜態的。數據可能需要從一個資料庫移動到另一個資料庫,從DBMS移動到外部數據集,或從事務處理系統移動到數據倉庫。DBA負責根據組織需求高效準確地將數據從一個地方移動到另一個地方。
11.備份和恢復。DBA必須根據數據波動性和應用程式可用性要求為每個資料庫文件實施適當的資料庫備份和恢復策略。如果沒有備份和恢復策略,系統和用戶錯誤可能會導致資料庫無法運行且無用。此外,必須在考慮恢復時間目標的情況下制定備份策略,以便在不可避免地出現問題時長時間不能使用數據。這可能是 - 如果不是絕對 - 最重要的資料庫管理任務之一。
如果.你是DBA,希望此列表看起來很熟悉; 如果你不是DBA,你可能已經學到了一些你以前不知道的DBA。隨著DBA角色在單個組織中的變化頻率,很難製作出全面的列表。即便如此,我們發現分享DBA工作職責的細節有助於為那些經常與他們互動的人提供額外的支持和鼓勵。