biti_rainy大師接受“2006年中國首屆傑出資料庫工程師評選”活動記者採訪原文

post0發表於2007-02-10
biti_rainy大師接受“2006年中國首屆傑出資料庫工程師評選”活動記者採訪原文[@more@]原帖連結:http://bitirainy.spaces.msn.com/blog/cns!6AECD20E2E08EE3A!584.entry

優秀資料庫工程師評選,賽迪網路採訪



1、你認為國內資料庫應用水平與人才狀況如何?

目前國內資料庫應用水平相對國外來講,差距還比較大。除了一些對效能要求嚴格的規模比較大的公司外,其他大部分公司還處於一個很初級的階段,資料庫對他們來講就是一個簡單的存取資料的系統,開發人員也大多隻注重實現應用功能而不考慮效能。
當然這是大環境所決定的,非常多的小型軟體公司僅僅是因一兩個專案而起家,根本無力去考慮可持續發展,自然也不會考慮軟體將來能支援更多的使用者、更大的規模,能滿足當前的需求、透過客戶的驗收是他們唯一的目的。當然甚至有一些同時負責客戶系統軟體和硬體完整解決方案的公司,在有能力設計更好的資料庫應用的條件下而不願意做更高效的軟體系統,選擇向客戶出售昂貴的硬體。當然這種現實存在的前提,就是客戶對資料庫應用根本不瞭解。本來做資料庫應用的調整,可能只需要幾萬塊錢的成本,結果購買硬體卻花費了數百萬元。

這種現象在國內目前還不少,反映出來的就是客戶整體資料庫應用水平太低,甚至連基本的概念也沒有,所以會花很多冤枉錢。而作為應用系統提供商的設計和開發者,往往因為做的軟體系統不好卻被順水推舟靠硬體來擴充套件應用規模。

網際網路極大地推進了技術的整體提升速度,讓人與人之間能更方便地共享經驗,並且知識和經驗迅速積累,為後來者提供了良好的學習環境。但由於大環境的急功近利的特性,能潛心研究資料庫應用的人在相對數量上也不多。
在2001年左右,資料庫應用基本處於起步階段,那時候大家都停留在簡單的概念的理解和探討水平,對於資料庫應用開發也非常的簡單。在2002年之後資料庫的研究在一些專業論壇逐步火了起來,如itpub等,這個時期一批新人迅速崛起,成為了國內資料庫專業論壇的骨幹力量,在2004年左右開始到現在這批人基本代表了國內資料庫管理和應用的頂尖水平。根據目前的情況分析,大約有0.1%的人是真正的資料庫專家,10%左右的人能設計和開發關鍵應用,或者管理維護關鍵資料庫。大約20%的人能滿足一般應用的設計和維護要求,其他人基本只能做簡單的開發和簡單維護。當然這只是我的一個感性的認識,不是嚴格調查的資料。

2、結合你的工作與專案經歷,請談談資料庫工程師在應用上面對的難點。

資料庫工程師在應用上的技術難點,最重要的在於如何預測系統上線後能滿足效能要求,並且系統的表現確實跟自己的期望一致。要實現這些目標,專業上的知識可以透過一系列的學習和培訓來達到,經驗可以透過不斷的專案來積累,相對來說還不是最困難的,我要說的難點卻是非技術的角度。

一個人或許具備豐富的資料庫設計和開發經驗,也具備豐富的資料庫管理知識,但是,卻未必算的上優秀的資料庫工程師。這個問題的關鍵在於,需要和應用打交道的資料庫工程師,除了具備專業素質外,必須具備良好的溝通能力、親和力,還要知道正確的做事情的方法。

這個現象,在我工作的過程中,體會非常深刻。曾經有一個同事,專業知識很不錯,工作也很嚴謹、認真,但就是溝通欠佳。他所負責維護的資料庫,由於比較頻繁地釋出新應用,而他因為溝通方面的問題,總是難以讓應用設計和開發者認真考慮他的意見,由於各方面原因,效能測試方面做的不夠充分,資料庫總容易出現效能問題。為此他面臨了很大的壓力,雖然我也嘗試跟他溝通,引導他正確地跟開發設計人員溝通,但是他自己總是難以邁出去。結果後來他辭去這份工作,去了一個應用穩定(不釋出新應用)的地方,專職管理資料庫。

在溝通這個環節,往往是工程師的弱項。如何有效地表達自己的想法,獲得對方的認同,並在實際行動上給予自己支援,除了溝通能力外,還需要一項能力,那就是找準做事情的方法。比如,有時候專案緊張,我為了實現自己的目標,會在為開發人員著想的基礎上,設計出一個對他來說代價很低的解決方案,並讓他明白我除了為系統效能考慮外,還為他的工作量考慮。在獲得開發人員的理解和支援的情況下,還要知會對方的直接主管,告訴該主管開發人員支援我的工作,為系統的效能提升做了積極有效的工作。在系統上線後,根據系統的良好表現,做出報告,感謝相關人員的支援,讓他們感受到自己的工作是卓有成效的。有了成就感,他們以後才能更好地支援我的工作。

我們很多工程師跟機器打交道或許遊刃有餘,但是跟人打交道就顯得笨拙。所以一個資料庫工程師最大的難點,就在於如何有效地發揮你的影響力,不侷限於你所管理的資料庫,而在於帶動更多的開發團隊成員,將潛在的效能問題消滅在搖籃中,這樣對於資料庫的管理和維護,你才能更輕鬆。

3、要解決這些應用難點,工程師的個人經驗能起到哪些作用?資料庫技術發展能起到什麼作用?

要解決這些難點,當然這不是具體的某個應用難點,而是屬於上上之策的一種工作方式,將自己的影響力擴大,在設計和開發階段就影響專案,避免系統上線後面臨效能問題而增加解決問題的困難程度。

要做到這一點,工程師個人的經驗自然必不可少。因為要在應用的設計和開發階段制定良好的規劃,必須有大量的專案經驗和深厚的資料庫功底,否則一個方案自己都沒有底,又如何讓別人信服呢?如果自己的建議得到實施後起到了良好的作用,能增進其他成員對自己的信任感,從而逐步加強這種信任的合作關係。這樣就形成一個良性迴圈。當然這說起來簡單,實際上卻是一個漫長的過程。現在很多人都具有自己的個性,一開始總是很難獲得別人的信服的。處理好開發環節後,在測試過程中,資料庫工程師根據自己的經驗,和測試人員一起搭建合理的模擬測試環境來預測上線後的表現。

資料庫技術的發展,自然也能讓解決方案變的簡單,減少大家的工作量,使得合作更容易。比如sql最佳化器更加智慧,選擇執行計劃更準確,那麼就可以讓我們減少在sql tuning上消耗的時間而更專注於schema設計上。

4、您認為“2006年中國首屆傑出資料庫工程師評選”活動的意義?

對於“2006年中國首屆傑出資料庫工程師評選”活動,我認為其具有非常積極的意義。一方面讓更多的人認識到資料庫工程師的價值,讓一些做著資料庫應用但還沒有專業資料庫工程師的公司能意識到他們團隊中還缺少了一種重要的工程師。另一方面,擴大了資料庫這個專業的影響力,透過評選的標準,也給廣大資料庫工程師指明一個正確的方向。

評選活動結束後,在這個行業中樹立了標杆,將可能對整體資料庫研究水平的提高起到推動作用。其間,也許產生少量狂熱愛好者進行資料庫開發的研究。因為我已經知道有一些人,有這個想法,希望嘗試開源資料庫的研究。但由於大環境的因素,他們還沒有尋找到足夠的夥伴和支援。這需要我們去培育這個環境,讓更多的人以資料庫為職業,提升整體的資料庫應用水平,也催生更多的資料庫研究者。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-899051/,如需轉載,請註明出處,否則將追究法律責任。

相關文章