Animal House 是我最喜歡的電影之一,這部拍攝于1978年的喜劇講述的是一個大學聯誼會的故事。電影開頭的場景是 Faber College 的四方形院子。在院子的中央有學校創始人的塑像。鏡頭向下搖到塑像的底座上,上面有學校的座右銘:“Knowledge is Good”。對于 DBA 來說,這個句話應該是“Data is Good”,但是讓我們考慮得深入一點兒。數據對于什么有益處?回答這個問題有多種方式。我將提出兩種方式以及我對 DBA 及其作用的一些想法,幫助我們考慮更合適的頭銜。
數據是應用程序的核心
如果 IT 部門提供(和支持)的應用程序能夠幫助組織完成它要做的工作(而且效果更好,速度更快,更可靠,或更經濟有效),那么 IT 部門就為組織提供了最好的服務。IT 部門提供的應用程序功能可以為公司提供巨大的競爭優勢。一家于上世紀 80 年代破產的航空公司的領導指出,這家公司的失敗在很大程度上是由于一個大型競爭對手采用了先進的管理系統;通過使用這個應用程序,那家航空公司可以以低價出售部分機票,以此吸引新的客戶,同時以比較高的價格出售余下的機票(比如賣給較晚預訂的乘客),從而保證一定的利潤。
對于幾乎所有行業的公司,應用程序都曾經創造過巨大的財富。
因此,應用程序對于組織的成功是非常重要的;但是,如果沒有數據,應用程序就不可能發揮作用。這對于DBA意味著什么呢?這意味著,如果 DBA 正在幫助應用程序發揮作用,那么 DBA 可能是公司中最有價值的成員。是的,我知道 DBA 的“傳統”任務也是有價值的,比如備份、數據庫對象重組、性能監視、SQL 調優、實現物理數據庫設計。但是,隨著時間的推移,這些 DBA 活動相對來說越來越不重要了,而幫助應用程序發揮實際作用的那些活動越來越重要了。
我們通過 DB2 技術的發展過程考慮一下這種變化。由于各個DB2版本中提供的新特性,DB2 DBA 原來從事的所有活動已經不再必要了,或者所需的時間大大縮短了。下面的列表主要針對DB2 for z/OS,但是 DB2 for linux, Unix, and Windows DBA 也經歷了相同的過程:
◆在 DB2 2.3 中引入包綁定之前,管理應用程序計劃常常是一項非常繁重的任務。
◆索引爭用問題過去花費了 DBA 的大量時間,DB2 V4提供的Type2 索引實際上消除了這個問題(它們還提供了行級鎖定功能)。
◆DB2 V6為存儲過程提供的 DDL 大大簡化了存儲過程管理。
◆DB2 V8提供了動態地循環使用表空間分區的功能,這簡化了時間序列數據的管理。
◆DB2 9提供的克隆表支持特性使DBA能夠非常方便地把一個表替換為另一個表,所需的工作量和時間都大大減少了。
這只是20年來各個DB2版本提供的幫助 DBA 節省工作時間的特性的一小部分。未來的DB2版本會繼續提供這樣的特性。
我覺得,對于DB2自動化計算的發展趨勢(換句話說,DB2 子系統需要的人工干預越來越少了),一些DBA可能有點兒擔心。他們可能擔心,隨著這些 DB2 改進的出現,企業越來越不需要他們的技能,他們的就業機會會減少。我相信,是否會真的發生這種情況,在很大程度上取決于 DBA 自己的態度。我不認為 DB2 自動化特性會對 DBA 造成威脅。相反,我覺得它們解放了 DBA,DBA 可以把節省下來的時間投入到更有回報的方面,為組織提供更大的價值:幫助應用程序架構師和開發人員構建更適合組織的軟件,讓組織成為更高效、更敏捷、更可靠的競爭者。
不要犯錯誤 —— 如果您積極參與公司的應用程序構建過程,就一定會受到相關人員的歡迎。對于數據庫專家在設計應用程序系統時提供的幫助,我認識的應用程序架構師和開發人員都給予了高度評價。您可以在以下方面幫助他們:
◆確保程序員了解訪問 DB2 數據的各種方式,尤其是 DB2 存儲過程的使用方法。
◆確保程序員知道他們可以使用自己喜歡的編程語言訪問 DB2。不但包括 java 或 C#,而且包括 Perl、Python、php 和 Ruby(參見 DB2 Magazine 2007 年第二期中我的專欄文章“News from the Client Side”)。
◆幫助判斷哪些應用程序功能在本質上應該是同步的,哪些應該是異步的。如果適合采用基于消息的異步模式,應該記住 WebSphere MQ 是非常出色的消息隊列和提交軟件,而且 MQ 和 DB2 能夠很好地配合工作。
◆在根據面向服務體系結構(SOA)原則設計應用程序時,從數據的角度提供支持。您應該熟悉 SOA 概念和術語(2006 年 Quarter 3 上我的專欄文章“SOA for DBAs”也許有幫助)。要記住,SOA 的某些方面可能會增加數據服務器的 CPU 使用率,這不一定是壞事兒。有時候,為了運行那些能夠提高組織的敏捷性和服務質量水平的應用程序,適度地增加 CPU 消耗量是值得的。
◆在涉及 SOA 時,您可以建議從事應用程序開發的同事使用 IBM 最近提供的免費的 Data Studio 工具。通過使用 Data Studio 和其他特性,可以很方便地以 Web 服務的形式公開 DB2 存儲過程調用或 SQL SELECT(或其他 DB2 數據操作)。這對應用程序開發人員很有幫助。
◆幫助程序員了解那些支持應用程序開發的 DB2 特性。他們是否知道 DB2 為 xml 數據提供了最出色的存儲和查詢功能?他們是否了解用戶定義函數、遞歸式 SQL 以及動態添加和循環使用表分區?您應該幫助他們獲取這些知識。
您現在明白我的想法了?!皵祿旃芾韱T”這個頭銜適合反映這類工作嗎?我認為不適合,但是我也沒有找到理想的其他頭銜?數據架構師?應用程序 DBA?應用程序數據專家?我不知道哪個頭銜更好。希望聽聽您的想法。
數據保證合法性
除了作為成功的應用程序的基礎之外,對于滿足當今的許多法律法規要求,數據也是關鍵因素。許多法律法規對數據提出了要求,如果不遵守它們,就會面臨嚴厲的處罰。根據公司從事的行業和開展業務的國家不同,可能必須把屬于某些交易的數據保留好幾年。還可能需要捕捉對某些數據元素的修改的相關信息:修改者、修改的內容和修改時間,以及修改的性質(更新、刪除、添加)。
因為您的工作以數據為中心,所以理所當然成為這個領域真正的領導者。您可以在兩個方面幫助組織:
如果您的公司還沒有信息生命周期管理(ILM)戰略,您可以發起并領導這種戰略的定義和實現過程。法律可能要求公司長期保留大量數據,但是這并不意味著應該把這些數據留在數據庫中。實際上,在大多數情況下,不應該把所有歷史數據留在數據庫中。如果這么做,數據庫的成本會更高,性能更差,更難恢復 —— 誰會希望這樣呢?對于應用程序用戶不再需要,但是政府要求保留的老數據,應該把它們從數據庫中刪除并轉移到廉價且可靠的存檔系統中;在需要時,可以從存檔系統中方便地獲取這些數據。另外,可以為存檔過程定義條件,根據這些條件自動進行存檔。現有的一些軟件可以很好地完成這個任務(通過收購 PRinceton Softech 的 Optim 解決方案,IBM 已經成為 ILM 軟件領域的佼佼者)。您應該推動公司的 ILM 戰略開發,幫助公司有效地管理整個數據生命周期。
數據修改審計越來越重要了。不要認為這只是公司法律部門的事兒;律師們知道法律的要求,但您是能夠找到解決方案的人。您可以先了解一下 IBM 的 DB2 Audit Management Expert,這是市場上比較全面的解決方案之一。在數據修改審計方面,一定要防患于未然。
同樣,“數據庫管理員”這個頭銜也無法恰當地反映 DB2 DBA 的這項非常重要的工作。哪個頭銜更合適呢?數據守護人(Data minder)、數據警衛(Data guardian)、數據放置者(Data right-placer)?
好了,把前面提到的與數據相關聯的關鍵角色組合起來,就出現了 application Enabler/Data Archiver and Auditor 這個頭銜。您認為AE/DAA有朝一日會替代DBA這個頭銜嗎?
新聞熱點
疑難解答