鬥爭程序猿(三十八)——歷史朝代大學(兩)——我與數據庫的故事

        文/溫國兵面試


        惰性人皆有之,也算是人的一大天性。幾日以前便構思好此文,怎奈每日瑣事繁多,今日才提起筆,做下此文。本文談談我與數據庫的故事。數據庫


        提及和數據庫結緣,還得從大一提及。大一剛開始接觸C語言,每日就沉浸在無止境的代碼中。在網上查資料的過程當中。看到別人用C語言寫了一個小型的圖書操做程序,數據庫採用的是SQL Server,執行出來的效果圖很是炫,驚歎原來還可以這樣管理數據。熟知C語言的同窗確定對文件操做不陌生,當時咱們敲代碼假設有靜態數據,都是放在文件中的。性能

直到後來作的C語言課程設計。我也是一大堆文件來保存靜態數據。學習

至此內心有了一顆小小的種子,誰知道會在後來生根發芽。大數據


        大一下期的那個暑假,開始了實驗室之旅。在實驗室天天都是自學,當中就接觸到了SQL Server和MySQL。關於實驗室的種種事情,後面還會細說。優化

最開始接觸SQL Server,我用我那破網在網上下載數G大的數據庫安裝文件。後來才知道咱們學校的陽光軟件站裏有,且下載速度達十幾M每秒。spa

花了數天把軟件下載下來之後,在百度文庫找了一個安裝說明文檔。依照截圖一步步操做。整個過程可不那麼順利,並且SQL Server很是耗用內存。好幾回機器都是未響應狀態,一番折騰。最終搞掂了,別提多興奮。接着把服務啓動。打開SQL Server Manageorgiament Studio,對數據庫一竅不通的我連個登陸都折騰半天。.net

進入主界面。不知該作個啥。後來在實驗室老師和學長的建議下,我在W3C上開始學習SQL的基礎知識。寫個查詢,知足指定條件的數據就呈現在眼前;用個INSERT,就能把想要的數據插入到數據庫。弄個UPDATE。就能把數據更新成想要的數據;寫個DELETE,就能把不需要的數據刪除。設計

如此簡單的語句就能實現當初覺得很是強大的功能,不得不感嘆數據庫的奇妙。後來閱讀師兄的項目源代碼。發現數據庫使用的是MySQL。因而開始折騰MySQL。blog

Windows下的MySQL仍是比較easy安裝,但就是如此簡單的操做也是折騰了很是久,並且很是多數據庫配置選項也不大明確。只是有了SQL Server的一些基礎,學習MySQL仍是相對easy。接觸過這兩大數據庫,並且有了一點Java Web的知識。因而開始作項目。

最開始的項目是練手用的,無非就是鏈接數據庫,而後進行增刪改查。

鏈接數據庫使用的JDBC,這個過程當中也遇到很是多問題,比方驅動版本號不正確、中文出現亂碼、不能正確提交數據等等。我有個習慣,就是遇到問題喜歡本身搗鼓,在萬不得已的狀況下不向別人提問。

進入實驗室不久。因爲在網上找資料,很是多連接都定向到CSDN,因而開通了CSDN博客,這是一件正確的事的開始。


        大二上期開始接觸Oracle。

Oracle也是一款龐大的軟件,在網上把安裝文件下載下來之後。依照網上的安裝文檔,一步步開始操做。

安裝完畢後。開始使用Oracle,這個數據庫軟件執行起來可真夠嗆,2G的內存表示壓力山大,執行Oracle後其它的不論什麼事情就別想作了。學習Oracle先是依照前輩的博客按部就班。從基礎的SQL。到PL SQL,再到簡單的優化,整個過程的學習還算順利。不會存在很是吃力的狀況。此時的我對數據庫抱有極大的熱情和興趣,並且慢慢造成了之後的奮鬥價值觀。


        大二開設了數據庫相關的課程,沒記錯的話課程名叫作「數據庫原理」。

在正式上課以前還有一點時間準備,對數據庫較熟悉的我在同窗面前有了優越感,很是多同窗到我那裏拷貝數據庫安裝文件。並且麻煩我爲他們安裝數據庫。

通過數次幫忙後,對整個操做已經到了瞭如指掌的地步。教授數據庫原理的老師十分幽默。時不時在課上爆出個冷笑話。讓人鬨堂大笑。因爲曾經接觸過數據庫。因此數據庫介紹、關係數據庫的基本理論、基礎SQL等等知識學習起來都比較輕鬆。大二的我很是喜歡泡圖書館,經常翻閱四樓的計算機書籍。看到兩本碩大的書,一本是Abraham Silberschatz所著的《數據庫系統概念》。還有一本是David M. Kroenke所著的《數據庫原理》,如此厚的著做看完都要很是久,更不提創做了。我當心翼翼地用雙手從書架取下。興高採烈地捧到書桌閱讀。看了一兩個小時,對做者不由有敬畏之情。這些書籍堪稱經典,確定有他的道理,想深刻數據庫,這些書是必讀的。


        在學習數據庫知識的過程當中,不免會遇到各類各樣的問題。遇到問題後,我首先嚐試本身解決。本身解決不了再參考別人的解決的方法,解決後再用本身的方式總結,再以博客的形式發表。

這種學習方式優勢很是之多,讀者最好仍是借鑑。後來學習數據庫就多了一些深刻。

比方工做以後,成爲了SQL Server DBA,開始看SQL 優化的知識。並且用於實踐。工做的過程當中還寫了很多的檢查性能瓶頸的T-SQL。再比方MySQL,學習了MySQL的高可用、高性能技術,比方複製技術中的主從複製、雙主複製、一主多從;高可用、高性能集羣方案,比方MySQL Proxy、MySQL Cluster、MySQL MHA、MySQL MMM、DRBD+Heartbeat+MySQL、LVS+Keepalived+MySQL等等;還接觸到MySQL的備份與恢復,比方冷備、熱備、增量備份、熱拷貝、延時備份等等;還接觸到MySQL的體系結構,熟悉了經常使用的存儲引擎。後來還看了很多MySQL相關的書籍,閱讀了部分MySQL源代碼,如此博大精深的技術,深知冰凍三尺非一日之寒。還需要花很是大的功夫。再比方Oracle,接觸了Linux下Oracle的安裝和配置、Oracle的體系結構、Oracle的備份與恢復、DG、RAC、Oracle優化等等。期間抱着官方文檔啃,看過很多Oracle大牛的書,比方蓋國強、白鱔等等。

在CSDN的私信、知乎、OSC、ITPUB,經常有人在問我問題,我在幫別人解決這個問題的同一時候也獲得比較大的提升。在這個過程當中學會了如何高速的尋求「幫助」,如何分享本身的所思所得,如何和別人高效地溝通。還懂得了學習技術不是學習技術自己,而是技術後面的本質問題。將來從事數據庫行業還有很是長的路要走,用一句「路漫漫其修遠兮,吾將上下而求索」來激勵本身。


        寫到這裏已經把大學的整個數據庫旅程寫完了。回過頭看整個旅程,仍是有很是多值得思考的地方。這裏僅僅給出一個思考,那就是爲何要學習和深刻數據庫。並且把他當作之後的職業發展方向。我的以爲是興趣問題。至於面試官怎麼想與我無關。一次面試官問我這個問題,我回答是興趣,他說事實上很是easy,無非是爲了金錢嘛。當時我僅僅能用呵呵來笑對。僅僅能說每個人的追求不同。

有的人爲了金錢而奔波,有的人爲了實現本身的價值而奮鬥;有些人一輩子碌碌無爲,有些人一輩子完畢了諸多豐功偉績。



        結合自身經歷,對之後想從事數據庫行業的學弟學妹們仍是有幾點建議。第一是搞明確動機,想清楚本身是否適合這個行業,不要因爲作數據庫薪資高就盲目地跟風。

數據庫行業外表光鮮。實質苦逼,並無想象中的那麼美好。第二是掌握好的學習方法。比方前面提到的經過博文分享造成本身的知識庫、向前輩取經、練習和總結並進等等。第三是遇到問題的求助方式。不要遇到問題就向別人請教,假設不通過本身的思考,那你的提高會很是的小。假設必定要求助。可以採用發帖或者跟技術大牛發郵件的形式。但請務必注意提問的方式,把遇到問題的解決辦法、 什麼條件下致使這種錯誤、出現錯誤的平臺、對應的錯誤信息和代碼說清楚,還需要注意郵件的格式和必需的禮節。作人作事不只要讓本身舒服。更重要的是要讓別人舒服。第四是把基本功抓牢。有研究代表,很是多很是成功的企業家曾經賣過報,小時候造成的創業童子功對之後的發展起着相當關鍵的數據。

某一個領域的基礎知識就是基本功,和童子功有着很是類似的做用。地基不牢。何以成參天大樓。

落實到實處,數據庫的經典書籍必定要找來讀讀,還有就是越是簡單的東西就越需要搞明確爲何。

第五是不要好高騖遠。我在平時的求職過程當中。看到很是多公司開的薪資,有了2年經驗的月薪在2萬以上的不在少數。別人能開那麼高的薪資。確定你作的事對得起這份工資。

薪資越高,責任也就越大。從還有一方面講,腳踏實地才幹在之後有所做爲。當你有了能力,不愁薪資。

昨天在微博上看到一句話。牛B的人才不用找工做,想一想不無道理。第六是找到志同道合的好友,互相學習,這樣會獲得很是大的提升。比方我有幸結識@林水彬。在平時他給我很是大的幫助,在此感謝!

第七是找數據庫相關的工做不要氣餒,不要自暴自棄。也不要埋怨上天的不公,爲何這樣說呢?因爲應屆畢業生找數據庫相關的工做仍是相對困難的,一個經驗的硬性指標就會把你拒之門外。

要相信凡事都是能者居之。你有能力。足夠好運,並且公司也願意培養你。那恭喜你。堅持下去,前途一片光明。假設畢業不能當即找到數據庫相關工做,可以先作其它行業,之後再考慮轉型。方向就在那裏,總錯不了。但願本文能給讀者帶來丁點幫助。


        詩和遠方永遠存在。

寫着驚世駭俗的詩,心繫可以眺望的遠方。伴着沿途的風景,獨自前行。

 

        未完待續。


        Good Luck!

        Robin

        2014年6月1日


        相關文章

相關文章
相關標籤/搜索