1. 程式人生 > >八年資料庫之路的感悟

八年資料庫之路的感悟

  時間過的很快,從在部落格園寫第一篇文章當現在剛好一年,而自己在資料庫這條路上已經走過八年。回想下這八年感覺總是在【迷茫-激動-充實-迷茫-激動-充實】的迴圈中。本篇也分享一下這些迷茫激動充實和美好的願景。

  古有大詩仙懷才不遇,詩書縱情于山水,今有小人物藍瘦香菇,博文感悟與園友。

成長

  IT民工,程式猿,救火隊,剛剛踏入IT界,這些詞就早已經如雷貫耳,電腦壞了不會修?你是做IT的?

  拋開殘酷的現實,尋找那最初的美好,每個人踏入這個行業從小白開始都會抱有成為一個稱做“行業專家”的理想。

  我也不例外,剛剛畢業有過好多目標,寫程式,做BI,業務設計,專案管理......就像熊瞎子劈苞米,劈一個扔一個,最後什麼也沒剩下!(好像現在的新同學會更有感觸,因為現在的技術花樣更多了)

  工作三年後,走過迷茫期,我堅定地選擇了資料庫DBA這條路,決定走下去並義無反顧。oracle科班出身的我,因為工作和自己的一點小興趣選擇了SQL Server。

 耐得住寂寞

  看書,學習的最基本途徑,看不下去就抄!原理性的東西也許只能這樣獲取到(也可能是我比較笨),不斷的學,模擬,思考。還記得《SQL Server 2005技術內幕》四本書,絕對是我的啟蒙老師,至今仍然收藏,時不時拿起來翻看。

  這個過程很多人感覺特別枯燥,無法堅持。也許像我這樣的人可能不太大眾,我反而覺得這個過程特別的激動,每天都學到很多新東西又特別的充實。

 打破迷茫

  很多時候學習和資料庫系統一樣會遇到瓶頸,這樣的瓶頸如果處理好,那麼你就是階段成長,跳到了下一個階段,如果沒處理好,就會打回原形(劈苞米一樣)。

  迷茫主要有兩點:

  •   很多東西理解不了,有沒有地方去問
  •   沒有實踐的環境,工作不匹配,有很難找到匹配的

  對於第一點,我當時就是在CSDN各種發帖,各種問(現在看看當時的問題,我真是厲害了不少呢,哈哈)。瞭解這種痛苦,所以請同樣有這種苦惱,問題不知道像誰請教的同學加QQ群:302593467(群裡我拉了不少SQL Server大神呦)

對於第二點,這個真的沒什麼辦法,看機遇了。不過一個建議:想要理想往往會犧牲一些(我的第一個資料庫DBA相關工作比開發時工資少了一半)。當有一個實踐的場景你的基礎理論會大幅發揮出來,技能提升特別快。這就是傳說中的一張窗戶紙。

獨當一面

  剛工作,給自己定了一個稱做“行業專家”的理想,而期限是五年,而所謂的行業專家其實也只是能夠在一個領域或技能上獨當一面。在工作五年的時候基本上達到了我的預期,這個時候大部分的資料庫問題我能夠獨立解決,出現問題也能理性的思考,並且慢慢整理思路不斷學習。

  激動的感覺,滿足的感覺。

 再次迷茫

  程式猿的悲催在於活到老學到老,不能停下學習的腳步。這個時候在一個技能(SQL Server)的學習上,自己感覺不到那種突飛猛進的感覺,很多時候學習都是需要真實的遇到場景,踩過坑才能在坑中學習。而在一個公司當DBA總是維護著自己的系統,根本沒有那麼多坑去踩。很長的一段迷茫期不知道怎麼辦,所以我嘗試了學習新東西,比如mysql,大資料相關的,甚至學習銷售、營銷等,但是我依然迷茫,不知要怎麼走下一步。

 偶然的機遇

  這也是我現在的公司,做SQL Server技術支援,在這裡我遇到了很多志同道合的人,這裡我們都是SQL Server技術的愛好者,一起研究技術,一起幫使用者解決問題,這也讓我自己意識到自己的很多很多不足,寫了一年的部落格不少人稱我為大神,雖然有些小高興,但內心我只能苦笑,因為我知道,憑藉我的技術水平在公司的技術團隊裡,不是倒數第一也是倒數第二。

  但也正是有這樣的機遇讓我重新找到了方向,找到了一起奮鬥的夥伴,也燃起了鬥志。

技術支援的感悟

  因為做技術支援的工作,所以每天都能接觸到不同的客戶,他們有著這樣活那樣的資料庫問題。對於我又像進入了一個新世界,這裡一切都是那麼不一樣。

 迷茫又至

  剛剛到公司,處理客戶問題的時候總是打了雞血一樣,充滿了激情,對於客戶問題總是耐心講解,甚至深入到原理,表、索引儲存結構,為什麼會出現這樣的問題等等。但是時間長了,我發現很多客戶的問題都是大同小異,很多客戶的運維人員都是一知半解,甚至連什麼是日誌備份都不知道。

 氣憤

  很多時候不明白,為什麼你維護的系統存在這樣那樣的問題,而你作為運維人員卻完全不知道呢?上TB的資料庫,而且不能有資料丟失,卻只是簡單恢復模式呢?為什麼告訴你資料庫應該定期體檢,監控問題,而你卻無動於衷呢?為什麼你認為資料庫不會出現損壞問題?為什麼你認為做了raid就不用備份資料庫了?

 深深的思考

  為什麼客戶的資料庫都是這樣的?作為運維人員為什麼不好好學一學呢?慢慢的我意識到了,問題基本可以歸結成三類:

  • 人手有限,往往身兼數職(網管、專案管理、協調廠商、DBA、應用、寫報告),既有很多協調性的管理工作,又有一些專業技術工作,尤其是資料庫,短時間是很難深入掌握的。

  • 自己開發系統,擅長程式開發,對於資料庫,瞭解的不深,更多的是業務邏輯,比如表結構設計、如何寫儲存過程等,導致後期很多業務存在效能瓶頸。
  • 買的軟體廠商的,在他們的行業裡,IT運維人員對系統進行的往往是簡單維護,做的最多的是和業務功能相關的事情,很多資料庫的專業問題困擾著他們,招聘資深資料庫專家吧,人家不來,自己解決吧,又很吃力,尋求廠商,他們也沒有好的方案,整合商就是換硬體。

 理解

  為什麼會有DBA的存在,因為DBA是一群在資料庫上精通的人,也可以說是資料庫上的內行,而沒有深入研究的就可以理解為外行。內行給外行的建議就好比:醫生建議你每天要吃蔬菜,這樣身體的什麼什麼指標會正常,每天要吃什麼什麼這樣會保證你身體怎麼怎麼好,同時要每天運動,運動能增強免疫力,減少得病的機率。

  而我呢,我自己呢?對於醫生來說我是外行,那麼醫生給我的建議可能也得不到我的警醒和重視,只有到生病了(我比較堅強一般是病入膏肓)才會去醫院看病。  

  同樣作為資料庫的技術支援,我會給客戶提出的建議,而他們的反應就像醫生給我建議時我的反應和應對一樣。

  天天奔波忙碌的我也不可能靜下心來,拿起一本醫學原理來看看。

成人達己

  技術人員都帶著一個改變世界的夢想,而我,沒有那麼大的夢,我(和我身邊的一群人)只想讓所有用SQL Server的使用者,真正能把資料庫用好,高效且平穩,想改變SQL Server在技術人員口中的評價。

  慢慢的我意識到,學習成長最大的樂趣就是能夠幫助別人,並在這個過程中自我完善,還有那被稱為大神的小喜悅。

  美好的願景從點滴開始,我們團隊也正在研發準備打造出一個免費的體檢診斷平臺(SQL專家雲),這個平臺屬於所有IT運維人員,屬於所有SQL Server的愛好者。讓更多人能一起交流技術,讓資料庫運維變得簡單,熟練既是效率,讓天下沒有難運維的資料庫。

 總結

  成長過程到獨當一面,到最終用自己的技能幫助儘可能多的人,也許這就是技術匠人的路吧。都說這個時代需要的是匠人,匠人精神,也許我某種程度上已經擁有了這樣的精神。

  每天很累,做著必須乾的事兒,這是為了生計。

  每天很累,做著不愛乾的事兒,這是為了工作。

  每天很累,做著喜歡乾的事兒,這是為了事業。

  每天很累,但卻樂在其中,這是情懷。

--------------部落格地址-----------------------------------------------------------------------------

如有轉載請保留原文地址! 

 ----------------------------------------------------------------------------------------------------

注:此文章為原創,歡迎轉載,請在文章頁面明顯位置給出此文連結!
若您覺得這篇文章還不錯請點選下右下角的推薦,非常感謝!