精通數(shù)據(jù)庫系列之入門-基礎(chǔ)篇3

字號:

行業(yè)的現(xiàn)狀和展望
    近年來,我一直在和數(shù)據(jù)庫管理員打交道,并直接面試了很多DBA職位。本文想概括一下IT行業(yè)對DBA的要求,以及國內(nèi)DBA的新資現(xiàn)狀??梢钥隙ǖ卣f,做一個高級DBA是很不錯的職業(yè)。如果你打算成為一名DBA,那么希望本文起到拋磚引玉的作用。
    什么是DBA
    數(shù)據(jù)庫管理員,英文是Database Administrator,簡稱DBA。這個職位對不同的人意味著不同的意義。一個小的軟件開發(fā)工作室和一個分工高度明細的大公司相比,DBA的職責來得更加寬泛一些。一個公司,不管它是自己開發(fā)應(yīng)用軟件,還是購買第三方的應(yīng)用軟件,只要涉及到數(shù)據(jù)庫(有多少不涉及數(shù)據(jù)庫的應(yīng)用軟件呢?數(shù)據(jù)庫是商業(yè)的靈魂和大腦?。托枰_定是否雇傭一個或幾個DBA。知道DBA這個職位有哪些要求,對于企業(yè)內(nèi)部這個職位的定義或者對于那些未來的DBA將是至關(guān)重要的。下面我列出了DBA的一些職責:
    安裝和升級數(shù)據(jù)庫服務(wù)器(如Oracle、Microsoft SQL server),以及應(yīng)用程序工具。
    數(shù)據(jù)庫設(shè)計系統(tǒng)存儲方案,并制定未來的存儲需求計劃。
    一旦開發(fā)人員設(shè)計了一個應(yīng)用,就需要DBA來創(chuàng)建數(shù)據(jù)庫存儲結(jié)構(gòu)(tablespaces)。
    一旦開發(fā)人員設(shè)計了一個應(yīng)用,就需要DBA來創(chuàng)建數(shù)據(jù)庫對象(tables,views,indexes)。
    根據(jù)開發(fā)人員的反饋信息,必要的時候,修改數(shù)據(jù)庫的結(jié)構(gòu)。
    登記數(shù)據(jù)庫的用戶,維護數(shù)據(jù)庫的安全性。
    保證數(shù)據(jù)庫的使用符合知識產(chǎn)權(quán)相關(guān)法規(guī)。
    控制和監(jiān)控用戶對數(shù)據(jù)庫的存取訪問。
    監(jiān)控和優(yōu)化數(shù)據(jù)庫的性能。
    制定數(shù)據(jù)庫備份計劃,災(zāi)難出現(xiàn)時對數(shù)據(jù)庫信息進行恢復(fù)
    維護適當介質(zhì)上的存檔或者備份數(shù)據(jù)
    備份和恢復(fù)數(shù)據(jù)庫
    聯(lián)系數(shù)據(jù)庫系統(tǒng)的生產(chǎn)廠商,跟蹤技術(shù)信息。
    DBA的個性特點
    很多時候管理人員都忽視了DBA的個性特點,他們只關(guān)注DBA的技術(shù)能力。實際上,上面談到的每個職責都意味著:DBA需要跟各種人員打交道,這些人員可能是銷售商、用戶、開發(fā)人員或者管理人員。這說明:DBA必須具有下面的個性特點:
    自信心
    好奇心
    堅韌的意志力
    老練
    自我驅(qū)動
    注意細節(jié)
    為什么這些個性特點很重要呢?
    我就有幾個缺乏自信心的部下,他們反復(fù)問我一些事無巨細的問題,他們沒有信心哪怕做最小的決定。他們也缺乏工作的主動性。這對于初級DBA來說可能問題不太大,但對于那些高級DBA來說,如果他們?nèi)狈ψ孕判?,他們又可以依賴誰幫他們決策呢?在DBA的面試中,即使你不能回答某個技術(shù)問題,你也要表現(xiàn)出足夠的自信心。最致命的不是不知道問題的答案,而是不知道從哪兒得到答案。
    幾乎所有的數(shù)據(jù)庫系統(tǒng)都在不停地更新。但并不是所有的更新都有技術(shù)文檔。對于好的DBA來說,好奇心是必需的。沒有好奇心和求知欲的DBA總是等待有人告訴他們答案。而一個求知欲強的DBA將安裝最新版本的數(shù)據(jù)庫系統(tǒng),并立即開始搜尋那些哪怕是細微的功能和性能上的差異和增強,從而改進自己的工作。應(yīng)試時一個必然問及的問題是:你手頭有哪些參考資料?你如何使用它們?毫無疑問,如果你只回答了數(shù)據(jù)庫的文檔,或者你甚至沒有讀過他們,你的"股票市值"將大大下降。好奇心會驅(qū)使DBA們理解數(shù)據(jù)字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。
    DBA常常會碰到棘手的問題。尋找答案是一個需要堅韌意志力、可以經(jīng)受摔打的個性特點。我常常在一些討論組或者論壇上看到DBA們提出的問題,這些問題往往是提問者自己可以解決的,如果他們具有堅韌的個性特點,并努力尋求問題的答案。
    自我驅(qū)動對每個人都是很重要的,對DBA尤其如此。DBA要能想辦法使問題出現(xiàn),而不是等待問題的出現(xiàn)。自驅(qū)力強的DBA常常設(shè)法取得或者自己寫一些必要的腳本(Script)來監(jiān)控包括數(shù)據(jù)表大小(Table Size)、表空間使用(Tablespace Usage)等項目,這些項目如果被忽視,他們將遇到麻煩。應(yīng)試的時候DBA們常常被問及在PL/SQL、SQL或者SQL*PLUS方面的經(jīng)驗,這些問題將把你從從來沒有編寫過自己需要的腳本的那些DBA們區(qū)分開。
    不用說和用戶,就是和程序員和管理人員打交道,也需要你足夠老練。一個一點不會處事的DBA不會為你做什么好事,只會在你的部門點燃敵對情緒的烈火。老練是這樣一種能力,你勸告某個人到地府去,哈哈,最后這個人懷著渴望的心情去了。很多時候,開發(fā)者、管理者、用戶,他們會提出毫無道理的需求,DBA們需要老練地引導、修正它們的要求,說服他們。在應(yīng)試時,你的應(yīng)對就很能說明你是否老練。
    最后說說注意細節(jié),這種性格傾向非常重要。注意細節(jié)的DBA們衣著整潔,有自己的日程安排,在應(yīng)試前對應(yīng)聘的單位做過調(diào)查。注意細節(jié)的DBA們深入了解數(shù)據(jù)庫的內(nèi)核,并能理解視圖、表之間的關(guān)系。
    DBA的等級
    DBA的等級并不是很嚴格的。按照對數(shù)據(jù)庫的掌握情況,我簡單地分成三個等級:初級Primary、中級Intermediate和高級Senior。
    初級DBA又稱為DBBS,是英文Database Baby Sitter的縮寫。初級DBA常常是兼職的,他們往往同時是程序員或者兼任其他的工作。初級DBA往往把個人簡歷寫得很棒,參與了很多和數(shù)據(jù)庫有關(guān)的項目或工作。但是,這些項目或者工作往往是:第三方軟件供應(yīng)商已經(jīng)安裝并配置了數(shù)據(jù)庫,他們只做一些監(jiān)控的工作。他們能處理一些簡單的問題,但大多數(shù)時候他們向應(yīng)用軟件供應(yīng)商求救。初級DBA更喜歡圖形化的數(shù)據(jù)庫管理或者監(jiān)控工具,他們喜歡Access這樣的桌面數(shù)據(jù)庫簡單易用,并把這些小型數(shù)據(jù)庫的經(jīng)驗簡單地應(yīng)用到大型數(shù)據(jù)庫相關(guān)的工作中