作者簡介:
牛新莊博士,研究方向為數據倉庫和數據挖掘。是IBM官方資深培訓講師(培訓DB2,AIX,MQ,WebSphere和CICS)。2002年獲IBM 杰出
軟件專家獎,2006年獲“首屆
中國杰出
數據庫工
程師獎”、“2006年IT168技術卓越獎”。是中信銀行、山東農信、廣東農信等公司資深技術顧問,中國建設銀行總行特聘資深技術專家。擁有OCP,
AIX,DB2,HP-UX,MQ,CICS和WebSphere等二十多項國際認證。著有《Oracle數據庫開發講座——
Oracle9i Jdeveloper與J2EE實務應用》、《DB2應用開發實戰指導》、《循序漸進DB2-系統
管理、運行維護與應用案例》、《深入解析DB2-高級管理、內部體系結構與診斷案例》和《DB2性能調整與優化》等書。
選定發展方向
1999年,我在開始讀研時就給自己確定了以后的發展方向。
當時有兩個方向:網絡,數據庫技術。因為在2000年之時,網絡大熱,市場上擁有CCNP、CCIE證書的人特別牛。所以我當時也考下了CCNP證書,但
后來發現網絡方向涉及很多硬件層面的東西,這些都對廠商的依賴性太強,個人發揮空間不大。而我喜歡鉆研,所以慢慢開始轉向專攻數據庫技術。
在認準數據庫這個方向后,我開始深入
學習數
據庫理論方面的知識。當時,人大王珊教授的《數據庫系統原理教程》一書,我讀了幾十遍。在學習數據庫理論的同時,我開始接觸并深入學習DB2和
Oracle,并從1999年開始使用DB2 V5.2。那時,市場上關于DB2方面的技術書籍幾乎沒有,互聯網也不像現在這么發達。因為我的導師做一個
課題需要用到DB2數據庫,但是我只能依靠查看 DB2隨機文檔來學習。那時,我還自己兼職,通過幫別人做些小軟件賺錢,外加課題經費,以支付考OCP認
證和DB2認證的費用。
到現在為止,我一直認為考認證是一個很好的學習動力。因為考試費用不菲,如果不想浪費錢只能拼命看書。我在讀
研的2000年就通過了OCP 8i認證,后來又陸續通過DB2 V5.2認證。這些認證極大地增強了我的自信。同時,在幫助導師用PB、Delphi等
編程工具做應用開發時,我有意識地增強對
SQL的學習,這對我后來的性能調優工作非常有幫助。
這里我想說的是,做好一個時期的
人生規劃非常重要。我們首先要有一個明確的努力方向和規劃,然后有意識的往這個方向努力。這種積極主動的學習要比被動學習效率高很多。
第一次做培訓
“機遇偏愛于有準備的頭腦”,這句話雖是老生常談,卻是人生真諦。記得2000年底,我在網上看到一個帖子說需要一個人去安裝DB2數據庫,差旅報銷,每
天500元,我喜出望外。因為這項工作需要有DB2認證才能去,而我那時DB2高級系統管理和應用開發的認證都有,所以很快就通過了對方的審核。但是當我
到客戶現場時才發現,不是安裝DB2而是要給客戶講課,當時我就傻眼了,因為講課需要的知識遠比
安裝配
置數據庫要難得多,更何況我之前根本沒有講過課。沒辦法,壓力也是動力,只能前一天夜里看教材備課到凌晨5點。短短睡了兩個小時后,8點半去講課。四天講
課下來,我總共休息了12個小時。還好自己畢竟有 DB2應用開發經驗和DB2認證做基礎,總算勉強應付了過去。只是沒想到的是,這次并不算順利的培訓,
竟是我未來幾年培訓生涯的開始。
將培訓當學習的動力
經過第一次講課后,我看到了自己的差距,知道僅有認證是不夠的。客戶的很多問題,書本上沒有答案,需要自己在實踐經驗上做努力。另外,講課前講師需要把一些原理、概念性的東西弄清楚,也需要對數據庫進行深入學習。
后來,IBM培訓部通過一些渠道知道我能講DB2且擁有相關證書,就找我講授DB2系列課程。所以,從2001年開始,我就經常作為IBM官方講師講授
DB2系列的所有課程。我自認為講課是一個很好的學習過程,因為課前要深入了解概念,對于自己的理論深入學習有很大幫助。同時,課堂上學員的實際操作問
題也會強迫自己做更深入的研究。
我對培訓有這樣的認識:學員聽你講三個小時,要遠遠勝過自己看3小時的書。如果把一堂課的內容比喻成
一杯水,那老師至少應該提前儲備一桶水。所以,在講課之前,我精心準備實驗,深入和學員交流。我講課從不照本宣科,而是自己準備了很多教材外比較實用的知
識來擴展教材內容。同時爭取上課過程中把一些概念用淺顯易懂的例子來講解。要想做到這些,首先自己必須對這個概念有深刻的理解才行,這一切都在客觀上促進
了自己的學習。
隨著培訓的增多,有部分客戶開始找我做實際的調優工作。記得我第一次去為客戶現場調優是2001年,去大連大通證券解
決鎖等待問題。客戶環境用的是AIX 和CICS。當時雖然問題解決了,但自己心里還是比較虛,因為對AIX和CICS不了解,萬一是這兩個方面有問題,
自己就沒辦法搞定了;這讓我認識到一個復雜系統的調整往往需要具備多方面的知識。這件事之后,我在網上買了一個140的IBM工作站小機,自己安裝AIX
并開始學習。
數據庫學習Tips
根據我對數據庫的理解,目前市場上雖然有Oracle,DB2,
Informix,Sybase和SQL Server數據庫,但Informix數據庫已經被IBM收購,而Sybase數據庫在技術和市場上正走向沒
落,占據市場主要份額的就是 Oracle,DB2和SQL Server數據庫。SQL Server數據庫非常好,但是很遺憾的是只能在
Windows平臺使用。所以如果你深入研究SQL Server數據庫,我只能說獲取高薪的概率稍低,而且坦白的說,使用SQL Sever數據庫的
企業一
般是中小企業居多。而國內做Oracle數據庫的人太多,如果你想在Oracle領域出人頭地,難度極大。但是,做DB2數據庫的人反而不太多,物以稀為
貴。況且,DB2數據庫廣泛應用在銀行、電信、制造行業、零售行業、保險行業等“高薪”領域中,所以我強烈建議學習DB2數據庫,做IBM技術一般獲取高
薪的概率相對會大一些。我們的時間精力是有限的,所以必須選擇好方向然后努力為之。除了SQL Server,這幾個數據庫我都在使用,我個人感覺除了功
能外,對于運行穩定而言,相對于Oracle不太穩定的優化器,DB2無疑是最穩定的,它的優化器無比強大。如果能在鎖方面再有更先進的技術,那么DB2
將是完美的。
這期間,我一邊學習,一邊通過了AIX的全部認證。記得非常清楚的是,為了做HA的實驗,我花費了很大工夫。因為那時小型機
不像今天這么普及,無法搞到7133陣列。后來我又學習了CICS、WebSphere、MQ和存儲。就這樣,在我培訓的過程中,發現自己哪方面薄弱并且
感覺這個方向有前途,我就會開始學習。不過,那時我的技術主要還是圍繞IBM產品為主。由于自己對培訓比較用心且頗受客戶好評,找我做培訓的國內培訓機構
開始變多。這個期間我自己的技術水平也增長很快。
2002年11月,我參加了首屆
“IBM DeveloperWorksLive! China 2002”大會,并獲得IBM首次在國內評選的“杰出軟件技術專家”獎,當時在6名獲獎
者中名列第2。這個獎項客觀上對我在客戶群的拓展方面起到很大幫助。找我解決問題的人更多了,所以2002—2003年也成了我技術提升最快的兩年。
這兩年內,我陸續學習了HP-UX、WebSphere和MQ并通過認證。我自己的感覺是,如果你把一門技術研究得非常深、非常透,由于觸類旁通的緣故,
再去學習另一門技術時就很輕松。所以,我在學完AIX再去學習HP-UX時,感覺非常輕松。同樣,在學習ORACLE和DB2后再去學習
Informix 也同樣很容易。通過這種縱向的深入和橫向的比較,各種產品的所長所短也會非常清楚,自己的技術視野無意間更加全面化。而且通過對一個產
品的深入,你往往能夠發現這個產品的缺點和需要改進的地方。就拿DB2來說,每次版本更新的新特性,在新版本未上市前我就可以猜得差不多了。這主要有三個
原因:一是我貼近真實用戶,了解他們的真正需求;二是自己一直在用且不斷總結思考;三是這些特性別的數據庫有,而DB2沒有,那在下個版本就會增加。所以
相對來說,我自身對新版本的新特性學習就非常輕松了。就DB2而言,我擁有DB2 V5.2 、V7.1、V8.1和DB2 V9的全部認證,而且我應該
是國內第一個把DB2 V8認證全部通過的人,當然,這其中也有巧合的成分。
重要的一點是:學習過程中,要不斷地把實踐和理論融合,知其然更知其所以然,這樣提升就會快很多。
現場救援“趕場”記
2004—
2005年
是我最忙碌的兩年,那時候找我講課的培訓機構和需要性能調優的客戶非常多,基本上整天在天上飛。培訓機構找我講課常常需要提前一個月預約。那兩年內,除了
過年幾天,其他時間都是在做培訓和診斷、調優,足跡遍及國內主要城市。我自己基本上是國內六大銀行開發中心和數據中心培訓的指定講師,并為北京銀信科技、
山東農信、廣東農信,交行大集中IBP等項目做數據庫技術顧問。
那時的我年輕、精力充沛。記得最刺激的一次是2004年9月的一天,
上午9點為上海移動IT部門做AIX動態邏輯分區(DLPAR)培訓,結束時是17 點。之后,立刻坐出租車前往揚州,于20點到達揚州供電局并協助他們
進行電力負荷控制系統項目上線,一直奮戰到凌晨3點半。接著,又連夜乘出租車趕往上海,在凌晨6點到達酒店。休息兩小時后,8點出發,準時出現在上海移動
培訓現場。那時我對報酬不太在意,想的主要是用心積累技術經驗和客戶資源。在我看來,能夠不斷通過實踐讓自己成長是第一要義。而且,去的客戶現場越多,處
理的問題就越多,也就越多地發現自己的不足,然后再拼命學習,不斷積累、總結和思考,進入了一個良性循環。
至今我仍然懷念那段充實、
緊張而充滿激情的光輝歲月。2004年和2005年,一方面因為以獨立咨詢顧問的個人身份無法出具發票;另一方面,項目越做越大,尤其是很多銀行的數據庫
架構和維護項目涉及合同金額也越來越大,需要簽訂正式公司合同。于是,我就分別在上海、北京注冊了公司。當然這些年我并非都是一帆風順,也犯過一些重大錯
誤,例如:我曾經在2002年5月1日把海南美蘭機場的數據庫調死,導致機場航班信息管理系統癱瘓。早期也曾經因為調整某證券系統宕機而影響股民交易,這
些都對客戶造成了影響,但這些都是成長必須要走的路。經過這兩次事件后,我自己也思考、總結了很多,在之后的調優工作中我基本上再沒有犯過錯誤。
我的秘訣:學習、積累、規劃
2006年8月我獲得“2006年中國首屆杰出數據庫工程師”稱號,算是對我多年學習數據庫的一個總結。自2007年開始,我專注于做一些大客戶的運維工作,并相應減少了培訓次數。
2008年,我被建設銀行以年薪217萬聘請為資深技術專家來維護Oracle和Informix數據庫。就做技術而言,以一己之力能掙到年薪幾百萬常常令我感到自豪,也讓我感受到技術的魅力,覺得自己多年來對技術的鉆研得到了認可。
之所以講述我的技術之路,主要目的是給大家一些參考,盡可能多地去了解社會的需求,有意識給自己制定人生規劃。我自己認為,多年來能取得這樣的成績,勤奮、努力和堅持一直是我最看重的。因為有了這些,才不至于當機遇光顧時,你卻不知所措。
現在很多年輕人,恰恰缺少的就是這樣的忘我與癡迷,在我熟悉的數據庫技術領域,很多年輕人越來越早地將注意力集中在薪水和職位上,這是很不明智的行為。其
實,往往那些將諸如高薪與職位忘懷的人反而能更快地取得成功。“不經一番寒徹骨,安得梅花撲鼻香?”這樣的道理人人都懂,可能夠真正去實踐的人卻并不多。
結合我的學習經驗與感悟,我總結有16字要訣:去除浮躁,認真學習,不斷積累,尋找機遇。
最后,我用這句話與大家共勉:古之成大事者,不唯有超世之才,亦唯有堅韌不拔之志也!
原文:http://space.itpub.net/10640532/viewspace-566595
新浪微博:http://t.sina.com.cn/androidguy 昵稱:李寧_Lining