2011年4月22日 星期五

挑戰SQL Server資料庫專家接班人

        近日接受IT-Home的專訪,日前終於上架了,這次的專訪主要是由於參加微軟的比賽得到名次,所以擁有的殊榮,為了保存這次的內容,所以特別收錄在我的Blog,下列的訊息是轉貼自PC-HOME的文字內容。




學習SQL語言不難,但要精通管理資料庫卻不是件易事。目前任職鼎新電腦軟體工程師的徐振煒,在看過出神入化的SQL應用後,就決心要精通資料庫系統這個領域





在今年的1月22日,臺灣微軟舉辦了「尋找下一個SQL Server 武林盟主」大會,並邀請了5位SQL Server領域知名的講師、技術顧問來擔任評審,目的是要選出新的SQL Server五虎將。不過,這比賽並不是這麼容易通過,需從上百人中一路過關斬將,才能進到決賽的10強。

而這10強,還要在最後的上機考試應付詭譎多變的題目,勝出後才能成為五虎將。而目前在鼎新電腦擔任軟體工程師的徐振煒,就是這最後獲勝五人的其中一員。


在神通電腦任職時,領教了SQL語法的威力
一開始徐振煒對於SQL(Structured Query Language)的看法,跟許多程式設計師一樣,認為它沒什麼特別之處。這是因為他們學SQL時,大多是SELECT之類的基本指令,只要將資料取出即可,所以很少著重整體執行效率。而這經常讓SQL Server效率降低,所以他一度覺得SQL的資料庫很差。

而這觀念,直到他進了神通電腦任職,並遇見一位姓汪的專案經理後,才徹底顛覆過來。徐振煒說,那時在神通電腦跟著經理進行過數個專案,每每都被他對SQL出神入化的應用技巧給嚇到。像某次專案,客戶要求他們用一個完全陌生的程式語言開發,結果經理依舊如期將專案完成。徐振煒說,雖然經理不熟悉該語言,但只要將複雜的運算交給SQL處理。如此一來,程式碼只要能執行資料庫存取的指令即可。

還有一次專案,該報表系統太複雜,需要進行多個邏輯運算,極度地耗費CPU資源。徐振煒說,那時他用Java開發,他的方式是將資料撈出來後再進行運算。但因為資料量過大,該系統跑出一張報表最快也需要10分鐘,有時還會執行失敗。但是汪經理一樣用SQL開發,一張報表卻僅花2分鐘左右就完成,這是因為他將所有的運算與邏輯都在資料庫端處理掉。而這些專案,都讓徐振煒徹底對SQL改觀,並且開始學習相關的應用。



程式設計師設計資料庫時,大多重應用面而無力兼顧管理面
雖然在神通電腦工作打開了他對SQL的眼界,並且也學習了不少經驗。但管理資料庫管理系統的實力,卻非那時突飛猛進的。真正的轉變,是之後到了歌倫比亞美語集團上班磨練出來的,因為他同時負責系統開發與資料庫維護。那時,因為徐振煒也非專門的資料庫設計師,所以他當時從程式設計師的角度切入,大多都偏重應用面,管理面通常較無力兼顧。

這在營運初期時,因為交易量小,所以負責好備份與回復的工作,大多還看不出問題。但隨著公司日漸壯大,交易量一天天的成長,他看到資料庫也跟著出問題,不是當機就是反應慢,有時甚至連問題錯在哪個環節都不清楚。

那時,他請廠商來幫忙解決。但每個人大多都給他相同的答案:「資料庫換成Oracle就全部解決了,何必這麼辛苦?」。不過,那時的徐振煒已經對SQL語法的運用,有相當程度的了解。他知道並非工具的問題,而是在於人。如果管理者對於資料庫不了解,就算換再好的資料庫也是徒然。

再加上,那時公司其他部門對於他的質疑。認為一個資料庫都搞不定,遇到問題就只會買設備解決,那對公司有何貢獻?因為這些事件的發生,讓徐振煒強迫自己去找解決的方法。

那時公司用的是SQL Server 2000資料庫系統,而他覺得下一版2005在工具與效能上,都較前者好。所以決定將資料庫轉移到SQL Server 2005上,並且用資料庫內建的監測工具去觀察資料庫,並進行效能上的調整。再加上他期間不斷看書找資料,或參加研討會與學員或講師交換心得。因為這樣,讓他逐漸累積管理資料庫的實力。


參加SQL Server的能力挑戰賽,竟然是因為獎品有XBOX
目前為現任五虎將的徐振煒,當我問他為何參加「尋找下一個SQL Server武林盟主」大會?他笑說:一開始因為獎品是他夢寐以求的XBOX 360,所以他才決定參賽,不過最主要還是想驗證自己的實力。因為在公司使用SQL Server,畢竟是閉門造車,沒有到外面闖闖也不知道自己的程度到哪。


而且,其實還有比XBOX 360更具誘惑的獎品,那就是與五位專家共進晚餐的機會。因為平時就經常參加相關的研討會,所以對這五位有基本認識,但以往都只能以學員的身分聽取授課,並沒有機會與時間能面對面交流。所以在得知有這機會後,使他對比賽更期待。

由於SQL Server 武林盟主大會是第一屆舉辦,所以賽前的準備方向上較無跡可尋,但徐振煒也並不是坐等比賽開始。像他在賽前就努力翻閱SQL Server認證考試最新的考古題,或是上微軟論壇看SQL Server最常被網友提問的問題。甚至,他還追蹤了五位專家的部落格,觀察他們最近對於SQL Server的心得或感想,並依照這大方向去猜題。

不過這樣的努力,只讓他猜中部份考題。徐振煒說,考題範圍實在太廣泛,根本預測不到會出什麼樣的題目。大多還是依靠日常的實戰經驗,才能順利通過考題。

而五虎將的比賽過程,雖然他自己很緊張,但過程其實非常輕鬆。前半比賽大多採機智問答的形式進行,而後半部比賽則採上機考。在上機考時,每位學員皆會分配到一臺沒有網路的電腦,並且連SQL Server內建的小幫手功能都移除,這目的在於驗證選手的實力。

上機考的考題則有五大項:資料庫維護、HA架構、Security、開發及其他。徐振煒說,要不是當初在歌倫比亞美語集團身兼開發及資料庫維護,他根本不可能對各項設定如此熟悉。

而我們也好奇,徐振煒成為新一代的五虎將後,對他的生活帶來什麼變化?他笑說,成為五虎將後,目前並沒有給他帶來什麼變化。真要說的話,大概就是週遭同事得知他是SQL Server五虎將後,經常會尋求他的幫忙。

而未來,徐振煒希望能繼續精進自己專業,成為一位SQL Server專家。並且希望自己,不單單成為一位顧問,而是能透過自己的專業出版相關書籍,來幫助更多的人了解與使用SQL Server。文⊙陳思翰

陪伴學習SQL Server的工具書

倍。而徐振煒在學習資料庫時,則有四本是他最喜歡的書。

第一本《資料庫系統之理論與實務》是他在學校上課時用到的書,書中對於SQL語法的說明非常詳細,讓他的基本功練的非常紮實。第二本《SQL Server 2005 Performance Tuning效能調校》則是關於SQL Server效能調校,這本書幫助他解決不少工作上的問題。而書上的範例,在他解決問題時能有個對象比較解法,順便驗證自己的能力。
 
而最後二本為原廠的Training Kit系列叢書,分別是《Training Kit | SQL Server 2008 資料庫開發》與《Microsoft SQL Server 2005 設計資料庫伺服器基礎架構》。這兩本徐振煒考證照時,提供了不少幫助。裡面不只有考古題,書中對於資料庫設定與說明都介紹的非常詳盡,重點是每個章節都會附上幾個範例說明,在練習時能更趨近於業界的實做。文⊙陳思翰




其他內容請參考IT-HOME 499期的雜誌內容。


參考連結:

  1. http://news.pchome.com.tw/magazine/report/ct/iThome/4353/130314240089307075007.htm
  2. http://210.59.230.11/magazine/this/ct/iThome/4353
  3. http://www.ithome.com.tw/itadm/article.php?c=67156

2 則留言:

  1. 老大,你不是說要低調的嗎==

    回覆刪除
  2. 我只是想將資料留在我的部落格中而已啦,粉低調了呢!!!

    回覆刪除