優(yōu)秀DBA應(yīng)該讓數(shù)據(jù)庫的每一件事情都自動化
原創(chuàng)【51CTO經(jīng)典譯文】你理解時間的價值嗎?我的意思是,真正地理解時間的價值。時間絕對是你最有價值的資產(chǎn)。一旦時間逝去了,它就永遠(yuǎn)都不會回來了。
作為一個DBA(Database Administrator:數(shù)據(jù)庫管理員),你的技能,服務(wù),專業(yè)知識,以及你的時間都是必需的。你只能拿出有限的一些時間,這一點是無法改變的,所以有效地利用這些可用的時間就變得至關(guān)重要了。我向你保證,這是所有優(yōu)秀的DBA都信奉的一個基本原則。
自動化的重要性
我經(jīng)常發(fā)現(xiàn)數(shù)據(jù)庫管理員在持續(xù)不斷地進(jìn)行著維護(hù),我把這種情況稱為“救火模式”。這就是說,他們在和持續(xù)不斷增長的工作負(fù)載做斗爭,他們一直在被動地進(jìn)行維護(hù),只是從最重要的任務(wù)過度到下一個任務(wù)而已,并沒有對全局做出自己的判斷。這樣的DBA通??梢栽谠庥鏊^的“Technical Debt”的環(huán)境中找到,Coding Horror(Jeff Atwood)在他的博文《Paying Down Your Technical Debt》中討論了“Technical Debt”的代價?,F(xiàn)在,讓我告訴你,這樣的工作是無法容忍的,無論是系統(tǒng)還是DBA,最終都會崩潰的,通常用不了多久,就會走上這條路了。不要試圖做一個DBA英雄,把難題都留給自己,這樣的話,你很快會精疲力盡的。你需要做的事情是讓工作變得更智能,而不是讓工作變得更困難。
(關(guān)于Jeff Atwood的博文《Paying Down Your Technical Debt》,具體可以參考:http://www.codinghorror.com/blog/2009/02/paying-down-your-technical-debt.html)
理解時間的價值并承認(rèn)它對成功的DBA的重要性是利用它的強大魔力的***步。作為一個DBA,你應(yīng)該采取一些措施,讓你可用的時間***化,這樣的話,可以讓你把主要精力集中在那些可以給你的企業(yè)增加更多的價值的任務(wù)上,也可以讓你的運維處于“主動模式”之中。簡而言之,為了成為一個高效率的數(shù)據(jù)庫管理員,你必須要“擠”出時間來。
這才是自動化的秘密,也是它可以提供給DBA的好處。自動化的任務(wù),系統(tǒng)和流程越多,你就有越多的時間來主動處理那些可以給你的企業(yè)(和你)創(chuàng)造更多的價值的任務(wù)。
讓每一件事情自動化
你沒有聽錯,我說的的確是每一件事情。你應(yīng)該坐下來,花一些時間來考慮一下這個問題。當(dāng)你考慮那些有可能自動化的流程和任務(wù)的時候,要反復(fù)地考慮這個問題。現(xiàn)在,把“可能”這個詞從你的字典中剔除掉,考慮一下你怎樣讓你做的“每*一*件*事*情”都自動化。
即使你認(rèn)為你必須要重復(fù)某個特定的任務(wù)的可能性很小,也要勇往直前,讓它自動化!可能當(dāng)你必須要再次重復(fù)這個流程的時候,有人催著你盡快完成它,或者更好一點的情況是你有更重要的“主動模式”的任務(wù)/項目需要完成,例如:為了通過MCM認(rèn)證而努力學(xué)習(xí),觀看免費的MCM視頻(具體可以參考:http://technet.microsoft.com/en-us/sqlserver/ff977043.aspx),以此來提高自己的專業(yè)技能。(你可以信任這個認(rèn)證,在使用PowerShell的自動化方式中,它同樣是有用的,具體可以參考這個視頻:http://www.englishtosql.com/english-to-sql-blog/2010/12/15/mcm-readiness-video-downloads.html,這主要是 @anonythemouse的功勞。)
至少,要給你的步驟創(chuàng)建一個流程,然后把你的腳本都保存起來,這樣的話,你就可以重用你的勞動成果了。
實現(xiàn)自動化的方式有很多,從顯而易見的選擇(例如:SQL Server Integration Services(SSIS)和PowerShell ),到你選擇的任何一門編程/腳本語言,你可以從中選擇合適的方式來實現(xiàn)自動化。我甚至開發(fā)了一個小的Java應(yīng)用程序(我過去是一個開發(fā)人員,在過去生活的感召下,我開發(fā)了這個小程序,但是我沒有告訴我們公司的開發(fā)人員。),讓一些管理任務(wù)自動化。自動化的關(guān)鍵和典型的DBA實踐剛好相反,那就是雖然未必要使用對某項工作來說最合適的工具或技術(shù),但是一定要使用可以讓這項工作自動化并完成的工具。
我敢打賭,針對你的任務(wù)和問題,你一定已經(jīng)實現(xiàn)了一些真正具有創(chuàng)新性的自動化解決方案。你可以在評論中分享你關(guān)于自動化的想法,技巧和理念。
從現(xiàn)在開始管理你的時間
讓你的任務(wù)自動化,可以讓你***限度地利用你最有價值的資產(chǎn)(時間),同時,可以讓你把精力集中在那些可以給你的企業(yè)創(chuàng)造更多的價值的任務(wù)上。從今天開始,讓每一件事情都自動化吧!
原文標(biāo)題:The Best Database Administrators Automate Everything
【編輯推薦】