資料庫與我:一段關於學習與成長的深情回顧

努力的小雨發表於2024-08-05

最近我有幸觀看了騰訊雲社群釋出的《中國資料庫前世今生》紀錄片,深受啟發。這部紀錄片讓我深刻反思,引發了我想要創作一部關於國產資料庫的紀錄片的衝動。未來,我計劃透過剪輯一些影片來表達我內心的想法,並將所有影片連結分享給大家。

image

當然,觀看了那部紀錄片後,我深感震撼。回想起我與資料庫的接觸雖然時間不長,但這段經歷有些類似學習Java程式語言的過程,都是在堅持不懈的學習與探索中度過。透過長期撰寫技術文稿,我積累了豐富的經驗,而今天我打算轉換一種風格,寫一篇敘事文,分享我與資料庫之間的成長與交集。如果你感興趣,就請聽我講述一下吧。感謝大家的支援和關注!

image

(影片連結將在評論區附上,持續更新,敬請期待!)

大學時代的資料庫初體驗

初識SQL Server的迷茫與探索

今天來嘮一嘮我與資料庫的故事,故事還得從大學開始,大學時期,我與資料庫的初次邂逅,可以用“迷茫”二字來形容。

image

那時的我,對SQL Server一無所知,只知道跟著老師的步伐,一步步走進資料庫的世界。課堂上,PPT和書本是我們的全部,枯燥而單調,偶爾的實操機會,也僅限於裝好資料庫環境,進行一些基礎操作。

image

那時候學習的是微軟的SQL Server 資料庫。記得第一次接觸SQL Server,是在一次特別的課程中。

image

老師讓我們帶上電腦,裝好環境,然後開始演示如何操作。那時候的我,對資料庫的認識僅限於課本上的理論知識,對於實際應用,完全是一片空白。

image

課堂與實踐的差距

我的學習習慣仍然和上大學之前一樣,主要是為了應付考試而建立的,並沒有考慮到就業的實際需求,這種做法顯得既天真又無知。如果現在讓我重新來過,我會毫不猶豫地抓緊時間去體驗實習,即使是做無償的工作,也比沒有實際經驗要好。

image

在面試過程中,我發現面試官從來不會問你課堂上學的那些基礎知識,因為這些知識本身就是一個合格候選人必須掌握的基本要求。實際上,面試中更關注的是實際工作中的關鍵技能,如索引最佳化、叢集搭建等,而這些內容在我的學習中並未得到足夠的重視。

image

考試主要考察的仍然是三正規化、SQL語句(包括DML、DDL)等基礎知識。過去,我沒有深入思考這些問題,僅僅滿足於考試成績的好壞,認為這就足夠證明我對這些知識的掌握。實際上,這種心態顯得過於片面,因為它忽略了實際工作中更復雜、更具挑戰性的技能要求。

😭不知道大家是不是也是這樣的想法?

轉折點:校外培訓

幸運的是,接近畢業時,我所在的大學雖然只是一所普通的二本學校,但學校邀請了一些校外機構來校進行演講和培訓。儘管這些培訓實際上是對我個人興趣的延伸,我對計算機有著濃厚的興趣,但由於我本身是文科生,所學專業又是經濟管理,這讓我在尋找相關職業道路時感到迷茫。更不用說,當時連如何找到合適的培訓機構都成了一個難題。

image

家裡都是農村人,家裡人對教育的重視和選擇並不如城市人那樣廣泛和深刻,但凡有人走過這條路,🤡也不至於在當時毫無深思熟慮地選擇了文科生作為未來的發展方向。

程式設計的啟蒙

藉著這次機會,我開始學習Java程式設計,而程式設計中必不可少的一部分就是資料庫操作。畢竟,業務程式設計不談及商務方面的話,也就僅僅涉及將業務資料儲存到資料庫中,再從資料庫中提取資料,讓使用者進行視覺化操作。

那時我主要學習了MySQL和Oracle資料庫。特別是對Oracle的學習讓我印象深刻,因為Oracle的知識點很多且複雜,我在學習過程中遇到了不少困難。特別是Oracle的安裝,對我的電腦配置要求很高,而那時我的電腦配置比較普通,安裝後電腦幾乎變得無法正常執行,這也讓我對Oracle的學習產生了一定的阻力。

image

🙇‍♂️後來才知道Oracle安裝完了,後臺的部分任務是可以停止的。我丟

資料庫的探索

上課的時候總是聽不懂,回家後也沒有進展。於是,我決定不再跟隨老師的進度,而是選擇了獨自學習。我去圖書館借了一本很厚很厚關於Oracle的書,回家後全心投入到自學中。這段經歷讓我至今難以忘懷。那年寒假,我回到老家,由於長期在外上學,家裡幾乎沒有朋友,因此我只能一個人面對電腦和Oracle教材,耐心地進行自我練習。儘管外面鞭炮聲此起彼伏,我卻完全沉浸在學習中,絲毫沒有心思去玩耍。

image

在自學過程中,我遇到了許多棘手的問題。我嘗試向培訓機構的老師尋求幫助,但他們大多無法給出有效的解答。原因在於,我研究的領域已經超出了他們常規培訓的範圍,因為培訓機構的課程主要集中在工作中常用的基礎知識,而不涉及更深入的內容。在這樣的情況下,我感到自己有些迷失方向。儘管我對程式設計充滿熱情,但學習資料庫的深度和廣度超出了培訓課程的覆蓋範圍,使得我只能依賴自己去研究和解決問題。最終,我不得不放棄繼續深入這一領域。

image

不過,這段經歷比在大學的學習有所進步。我深入掌握了Oracle物件、索引等重要知識點,並且背誦了大量考試所需的“八股文”式知識。這些知識對我後來的工作和學習都起到了積極的推動作用。

走向社會

實際工作中的資料庫應用

機緣巧合之下,我進入了北京美菜公司,這真是命運的捉弄。我之前學到的知識大多沒有實際用上,但這段經歷也讓我獲得了不少收穫。在實習期間,我主要使用的是PHP。當時說這種語言被稱為全世界最好的程式設計開發語言😂。

image

好在大學時,腦子裡還留存了一些關於PHP的基礎知識,並在此基礎上,透過自主培訓掌握了一些Java的技能。這讓我在工作中能夠較為遊刃有餘,畢竟,作為實習生,我從事的工作大多是大家都熟悉且看不上的常規任務。

image

那時,資料庫方面我使用的是MySQL,這讓我感到寬慰。無論程式語言有多少種,資料庫語言本質上只有一種——SQL。雖然不同的資料庫系統可能會有不同的函式,但核心語法基本保持一致,不會像程式語言那樣頻繁變動。

在工作中,我有了更多接觸和使用資料庫索引的機會,這與在本地進行資料處理時的體驗截然不同。在實際的工作環境中,索引的最佳化和調整對查詢速度的影響非常明顯,而不像在本地測試資料時那樣,無論是否新增索引,查詢速度變化不大。這種對索引實際效果的切身體會,讓我更加深刻地認識到索引在提升資料庫效能中的重要性,並讓我在處理實際工作中的資料時,更加註重和熟練掌握索引的使用技巧。

個人參與國產資料庫的經歷與感悟

由於家庭原因,我回到了老家長春工作,這段時間裡,我接觸的資料庫主要是Oracle。在工作中,我的任務主要集中在最佳化SQL語句,接著進行開發和運維操作。對我而言,資料庫成為了一個必不可少的工具,雖然我並不是專業的DBA,但我依然能運用一些相關知識來完成工作。

image

大約在2020年之後,我開始頻繁聽到關於國產資料庫的討論。特別是達夢資料庫的名字經常出現,我也在一些社群群聊中看到關於其他國產資料庫的聲音。雖然當時這些討論還不算廣泛,我也沒有過多關注,但這標誌著國產資料庫在行業中的影響力正在逐漸增長。

🤡連像我這樣的小卡拉米都能聽到這樣的資訊,足見國產資料庫的影響力確實在不斷增長。哈哈哈

OpenTenBase

image

恰逢今年春天,我有幸參加了由開源基金會主辦的關於OpenTenBase的開源資料庫比賽。為了準備這次比賽,我利用節假日時間,專注於在家裡深入研究資料庫,雖然一開始只是為了那誘人的獎金,但最終我幸運地獲得了三等獎。這份成績讓我感到非常欣慰,也對自己充滿了感激。

image

在這段時間裡,我常常會產生一種轉行成為資料庫專家的衝動,但我也意識到,資料庫領域的深度和廣度遠遠超出我的想象,難度頗高,因此我決定不讓自己陷入誤區。儘管如此,我仍然堅定地選擇了堅持在程式設計領域的發展,並繼續從事程式設計工作。無論多麼微小的知識點,我都希望能記錄下來,並不斷學習和成長。

人大金倉

image

同年7月,在一位好朋友(洛林)的建議下,我有幸參加了人大金倉舉辦的徵文比賽。對我來說,寫文章已經變得相對輕鬆了,因為我積累了一些寫作經驗。只要明確了大綱,接下來就是豐富內容、組織結構,然後再進行潤色。經過一番努力,最終我也很幸運地獲得了三等獎。這份成績也讓我感到欣慰。

這個時候,我才意識到國產資料庫在資料遷移方面已經支援了多種資料庫之間的遷移功能。同時,我也瞭解到了金倉資料庫在事務隔離級別方面的不同處理方式。面對“可重複讀”、“髒讀”和“幻讀”等問題,如果僅僅依靠通用的理論知識進行回答,往往會顯得膚淺和不準確。因此,我決定更加深入地研究國產資料庫的技術。

image

大浪淘沙已經到來

曾經,我對國產資料庫的印象停留在依靠政策支援的階段,總覺得國外的MySQL和Oracle技術更為成熟,國產資料庫在技術方面似乎遜色很多。然而,現在回過頭來看,國產資料庫的技術水平已經有了顯著提升,不能再用過時的觀點來評價它們。這一發現讓我對國產資料庫有了全新的認識和尊重,也讓我重新審視了它們在技術上的進步和發展。

image

從整體來看,能夠實現盈利健康發展的資料庫廠商屈指可數,大多數國產資料庫廠商仍然陷入“燒錢”狀態,因為缺乏足夠的客戶案例和市場支援。隨著國產化程序的深入推進以及新的政策導向和市場環境的變化,國產資料庫之間的競爭變得異常激烈,如同大浪淘沙。在這個殘酷的競爭環境中想要脫穎而出,各資料庫廠商必須重視技術創新,緊密關注客戶的實際需求和痛點。此外,建設良好的社群生態也至關重要,提升產品的知名度,培養使用者和開發者的技術影響力等方面都不可忽視。在資料庫國產化的浪潮中,任何一點做得不夠好都可能導致被市場淘汰。

資料庫國產化既是機遇也是挑戰,對於廠商而言,需要不斷最佳化產品以滿足客戶需求;對於資料庫管理員(DBA),則需要不斷學習適應新的挑戰;對於客戶來說,則需要審慎評估國產資料庫的使用優劣;而對於市場而言,大浪淘沙過後,最終剩下哪些資料庫,只能拭目以待。

image

紀錄片的啟示

最後,透過觀看中國資料庫紀錄片《中國資料庫前世今生》,我深刻體會到,我對國產資料庫的認識有了根本性的改變。之前,我對國產資料庫的歷史幾乎沒有任何瞭解,但這次經歷讓我對其發展歷程產生了濃厚的興趣。紀錄片詳細記錄了國產資料庫從起步到如今的成長過程,讓我感受到魏中朝等前輩們的巨大努力和貢獻。

image

這部紀錄片採用了敘事故事和親切的家常話語來呈現,讓複雜的技術發展變得生動有趣。我個人非常喜歡這種風格,它不僅讓我更好地理解了國產資料庫的進步,也讓我對它們的未來充滿了期待。如果你對國產資料庫的發展感興趣,也推薦你觀看這部紀錄片,相信你會和我一樣從中獲得不少啟發和思考。

image

😁大家有時間的話,不妨抽空觀看一下這部紀錄片,哪怕只是減少一點遊戲時間,也值得一試。瞭解國產資料庫的發展不僅能讓你對技術進步有更深刻的認識,還能聽到許多前輩們的名字和他們的貢獻🫡。透過這些真實的故事和經歷,你會對國產資料庫的成長曆程有更全面的瞭解,對相關領域的背景和發展也會有更多的認識。

最後

非常感謝閱讀我的故事。我生活在東北長春,是一名普通的Java程式設計師。如果在文章中有任何表達不當之處,請諒解並在評論區指出。今天的分享就到此結束了。

然而,近來我覺察到國產資料庫的發展十分活躍。連我這樣一個普通的程式設計師都能接觸到部分資訊,這說明國產資料庫的關鍵時刻已經到來。正如文中所述,國產資料庫的發展既是機遇也是挑戰。在這個競爭激烈的市場上,只有少數公司能夠生存下來,取決於誰能夠獲得更多的市場支援和客戶案例。

不過不管資料庫如何發展,SQL語言已經成為了一種全球統一的標準。世界上確實沒有任何一個語言能夠完美替代SQL的功能和普適性。

image


我是努力的小雨,一名 Java 服務端碼農,潛心研究著 AI 技術的奧秘。我熱愛技術交流與分享,對開源社群充滿熱情。同時也是一位掘金優秀作者、騰訊雲內容共創官、阿里雲專家博主、華為云云享專家。

💡 我將不吝分享我在技術道路上的個人探索與經驗,希望能為你的學習與成長帶來一些啟發與幫助。

🌟 歡迎關注努力的小雨!🌟

相關文章