八年數據庫轉型之路:技術易改,匠心永存
作者介紹
吳虞,SQL專家雲團隊成員,擅長解決SQL Server數據庫性能、高可用、負載均衡等問題。
時間過得很快,從在博客上寫第一篇文章到現在剛好一年,而自己在數據庫這條路上已經走過八年。回想下這八年,感覺總是在“迷茫-激動-充實-迷茫-激動-充實”的狀態循環中。本篇我將分享一下這些迷茫、激動、充實和美好的願景。
古有大詩仙懷才不遇,詩書縱情於山水,今有小人物藍瘦香菇,博文感悟與群友。
成長
IT民工,程序猿,救火隊,剛剛踏入IT界,這些詞就早已經如雷貫耳,電腦壞了不會修?你是做IT的?
拋開殘酷的現實,尋找那最初的美好,每個在踏入這個行業的小白開始都會抱有成為一個稱做“行業專家”的理想。
我也不例外,剛剛畢業有過好多目標,寫程序,做BI,業務設計,項目管理......就像熊瞎子劈苞米,劈一個扔一個,最後什麼也沒剩下!(好像現在的新同學會更有感觸,因為現在的技術花樣更多了)
工作三年後,走過迷茫期,我堅定地選擇了數據庫DBA這條路,決定走下去並義無反顧。Oracle科班出身的我,因為工作和自己的一點小興趣而選擇了SQL Server。
耐得住寂寞
看書,是學習的最基本途徑,看不下去就抄!原理性的東西也許隻能這樣獲取到(也可能是我比較笨),不斷地學、模擬和思考。還記得《SQL Server 2005技術內幕》四本書,絕對是我的啟蒙老師,至今仍然收藏,時不時拿起來翻看。
這個過程很多人感覺特別枯燥,無法堅持。也許像我這樣的人可能不太大眾,我反而覺得這個過程特別的激動,每天都學到很多新東西又特別的充實。
打破迷茫
很多時候學習和數據庫係統一樣會遇到瓶頸,這樣的瓶頸如果處理好,那麼你就是階段成長,跳到了下一個階段,如果沒處理好,就會打回原形(劈苞米一樣)。
迷茫主要有兩點:
-
很多東西理解不了,有沒有地方去問;
-
沒有實踐的環境,工作不匹配,有很難找到匹配的。
對於第一點,我當時就是在各種技術網站上發帖,各種問(現在看看當時的問題,我真是厲害了不少呢,哈哈)。
對於第二點,這個真的沒什麼辦法,看機遇了。不過一個建議:選擇理想往往會犧牲一些(我的第一個數據庫DBA相關工作比開發時工資少了一半)。但是當有一個實踐的場景出現,你的基礎理論就會大幅發揮出來,技能提升特別快。這也是傳說中的一張窗戶紙。
獨當一麵
剛工作時,給自己定了一個稱做“行業專家”的理想,而期限是五年,而所謂的行業專家其實也隻是能夠在一個領域或技能上獨當一麵。在工作五年後基本上達到了我的預期,這個時候大部分的數據庫問題我能夠獨立解決,出現問題也能理性的思考,並且慢慢整理思路不斷學習。
激動的感覺,滿足的感覺。
再次迷茫
程序猿的悲催在於活到老學到老,不能停下學習的腳步。這個時候在一個技能(SQL Server)的學習上,自己感覺不到那種突飛勐進的感覺,很多時候學習都是需要真實的遇到場景,踩過坑才能在坑中學習。
而在一個公司當DBA總是維護著自己的係統,根本沒有那麼多坑去踩。很長的一段迷茫期不知道怎麼辦,所以我嚐試了學習新東西,比如MySQL,大數據相關的,甚至學習銷售、營銷等,但是我依然迷茫,不知要怎麼走下一步。
偶然的機遇
這也是我現在的公司,做SQL Server技術支持,在這裏我遇到了很多誌同道合的人,這裏我們都是SQL Server技術的愛好者,一起研究技術,一起幫用戶解決問題,這也讓我自己意識到自己的很多很多不足,寫了一年的博客不少人稱我為大神,雖然有些小高興,但內心我隻能苦笑,因為我知道,憑借我的技術水平在公司的技術團隊裏,不是倒數第一也是倒數第二。
但也正是有這樣的機遇讓我重新找到了方向,找到了一起奮鬥的夥伴,也燃起了鬥誌。
技術支持的感悟
因為做技術支持的工作,所以每天都能接觸到不同的客戶,他們有著這樣活那樣的數據庫問題。對於我又像進入了一個新世界,這裏一切都是那麼不一樣。
迷茫又至
剛剛到公司,處理客戶問題的時候總是打了雞血一樣,充滿了激情,對於客戶問題總是耐心講解,甚至深入到原理,表、索引存儲結構,為什麼會出現這樣的問題等等。但是時間長了,我發現很多客戶的問題都是大同小異,很多客戶的運維人員都是一知半解,甚至連什麼是日誌備份都不知道。
氣憤
很多時候不明白,為什麼你維護的係統存在這樣那樣的問題,而你作為運維人員卻完全不知道呢?上TB的數據庫,而且不能有數據丟失,卻隻是簡單恢複模式呢?為什麼告訴你數據庫應該定期體檢,監控問題,而你卻無動於衷呢?為什麼你認為數據庫不會出現損壞問題?為什麼你認為做了raid就不用備份數據庫了?
深深的思考
為什麼客戶的數據庫都是這樣的?作為運維人員為什麼不好好學一學呢?慢慢的我意識到了,問題基本可以歸結成三類:
-
人手有限,往往身兼數職(網管、項目管理、協調廠商、DBA、應用、寫報告),既有很多協調性的管理工作,又有一些專業技術工作,尤其是數據庫,短時間是很難深入掌握的。
-
自己開發係統,擅長程序開發,對於數據庫,了解得不深,更多的是業務邏輯,比如表結構設計、如何寫存儲過程等,導致後期很多業務存在性能瓶頸。
-
買的軟件廠商的,在他們的行業裏,IT運維人員對係統進行的往往是簡單維護,做的最多的是和業務功能相關的事情,很多數據庫的專業問題困擾著他們,招聘資深數據庫專家吧,人家不來,自己解決吧,又很吃力,尋求廠商,他們也沒有好的方案,集成商就是換硬件。
理解
為什麼會有DBA的存在,因為DBA是一群在數據庫上精通的人,也可以說是數據庫上的內行,而沒有深入研究的就可以理解為外行。內行給外行的建議就好比:醫生建議你每天要吃蔬菜,這樣身體的什麼什麼指標會正常,每天要吃什麼什麼這樣會保證你身體怎麼怎麼好,同時要每天運動,運動能增強免疫力,減少得病的幾率。
而我呢,我自己呢?對於醫生來說我是外行,那麼醫生給我的建議可能也得不到我的警醒和重視,隻有到生病了(我比較堅強一般是病入膏肓)才會去醫院看病。
同樣作為數據庫的技術支持,我會給客戶提出的建議,而他們的反應就像醫生給我建議時我的反應和應對一樣。
因為,天天奔波忙碌的我也不可能靜下心來,拿起一本醫學原理來看看。
成人達己
技術人員都帶著一個改變世界的夢想,而我,沒有那麼大的夢,我(和我身邊的一群人)隻想讓所有用SQL Server的用戶,真正能把數據庫用好,高效且平穩,想改變SQL Server在技術人員口中的評價。
慢慢地我意識到,學習成長最大的樂趣就是能夠幫助別人,並在這個過程中自我完善,還有那被稱為大神的小喜悅。
美好的願景從點滴開始,我們團隊也正在研發準備打造出一個免費的體檢診斷平台,服務於所有SQL Server的愛好者,以讓更多人能一起交流技術,讓數據庫運維變得簡單,熟練既是效率,讓天下沒有難運維的數據庫。
總結
成長過程到獨當一麵,到最終用自己的技能幫助盡可能多的人,也許這就是技術匠人的路吧。都說這個時代需要的是匠人,匠人精神,也許我某種程度上已經擁有了這樣的精神。
每天很累,做著必須幹的事兒,這是為了生計。
每天很累,做著不愛幹的事兒,這是為了工作。
每天很累,做著喜歡幹的事兒,這是為了事業。
每天很累,但卻樂在其中,這是情懷。
原文發布時間為:2016-11-24
本文來自雲棲社區合作夥伴DBAplus
最後更新:2017-05-11 12:01:48