企業資料庫工作2:團隊培養,如何高效閱讀資料庫文件

qing_yun發表於2024-04-15

  企業資料庫工作分為五大塊:選型、架構設計、建設實施、連續性保障、團隊培養,上篇文章介紹了資料庫選型,引起了不少討論和反饋,有不少老鐵問“如何學習資料庫”,我的建議是閱讀資料庫官方文件。然而對於初學者來說,資料庫文件顯得冗長、晦澀,讓人望而卻步。因此,掌握一套高效學習資料庫文件的方法至關重要。本文將介紹一些有效的學習策略,幫助讀者更加高效地學習資料庫文件,快速掌握資料庫技術的核心知識。

   01 為什麼是文件

  顯然資料庫文件是各家資料庫產品最權威的使用手冊,包含了資料庫的基本概念、架構、核心、資料模型、物件語法、管理手段、效能最佳化、安全策略等,還提供了操作步驟示例、限制和注意等事項,幫助使用者深入理解資料庫的運作機制和管理方法。

  這幾年行業對國產資料庫建議,資料庫文件的完善也是重要一點。比如中國農業銀行資料中心一文提到的國產資料庫八大痛點,其中一點是技術文件不夠完善,詳見原文。阿里巴巴早期資料庫專家、中國最早一批 Oracle ACE、網際網路名人馮大輝老師,對國產資料建議第一條就是改進文件,詳見原文。

  因此,不管從資料的權威性、全面性,還是行業機構、專家的建議,資料庫文件都是資料庫最重要的學習資料。

   02 文件知識型別

  在閱讀資料庫文件中,我們會得到三類資訊:

  是什麼(what):事實類資訊,比如資料型別是什麼;

  怎樣做(how):方法類資訊,比如怎樣效能最佳化;

  為什麼(why):原理類知識,比如為什麼索引能高效能讀寫;

圖片來自網路

  從 what 到 why,抽象等級增加,理解難度加大。what 的知識,知道就夠了。how 的知識,光知道還不夠,還需要動手操作,就像人不能只看影片學游泳,只看資料庫文件也不能提高資料庫效能。只有將資料庫文件知識結合業務、硬體環境等,才能做出最合理的最佳化建議。

  花時間最多的是第三類 why 的知識,比如原理類,不僅要知道是什麼還要求理解並記住。比如我們知道關係型資料庫通常支援事務,但是不理解其原理,就無法全面理解資料庫特性。

  然而在實際工作中,why 的優先順序可能不是最高的。就像司機不知道發動機原理也可以開車。在很多情況下,不明白為什麼也能將事情往前推進。我接觸過一些聰明人,經常花大量時間搞清背後的為什麼,卻不做實踐。我的建議是對資料庫有一定了解後,再去掌握 why 類知識,而不是一上來就死磕原理,不重視實踐。

  03 文件目錄

  我們都知道資料庫索引會讓查詢更高效,索引的原理相當於書本的目錄,而資料庫文件目錄就是學習資料庫的“索引”,它是最有效的學習資料庫方法之一。

  目前市場上有兩三百個資料庫產品,按模型又分為關係型、鍵值、時序、文件、圖、空間、搜尋、多模、向量等,可謂“百庫大戰”。但各家資料庫目錄仍大致可以分為:入門指南(Getting Started)、SQL語言參考(SQL Reference)、管理員指南(Administrator's Guide)、開發者指南(Developer's Guide)、參考手冊(Reference Manual),逐一介紹下每個部分包含的內容。

圖片來自網路

  • 入門指南(Getting Started)

  入門指南通常是資料庫文件的第一部分,它幫助使用者如何開始使用資料庫,一般包括安裝升級、啟動和連線、使用者許可權管理、基本sql操作以及一些學習資源,如線上培訓、文件連結、社群論壇等。

  概念介紹部分涵蓋了資料庫系統的基本概念、架構和原理,包括資料模型、資料型別、事務處理、資料儲存結構等。這部分內容對於理解資料庫系統的工作原理非常重要,是深入學習資料庫的基礎。

  • SQL參考(SQL Reference)

  SQL語言參考部分包含了資料庫系統支援的SQL語法和語句的詳細說明。這部分內容通常按照SQL語法的不同部分進行組織,包括資料查詢、資料操作、資料定義等方面的內容,幫助使用者瞭解和使用SQL語言。

  • 管理員指南(Administrator's Guide)

  管理員指南部分主要面向資料庫管理員(DBA),介紹了資料庫系統的管理和運維操作,包括備份和恢復、效能最佳化、安全管理、資料遷移、引數設定、管理工具介紹等方面的內容。這部分內容幫助 DBA 可以更好地瞭解資料庫的管理和運維方法,從而確保資料庫的穩定執行。

  • 開發者指南(Developer's Guide)

  開發者指南主要面向開發人員,介紹了資料庫和開發相關操作,包括 表、儲存過程、觸發器、函式、檢視、序列等資料庫物件介紹;以及開發編寫應用程式時對資料庫使用的指導和建議,包括連線資料庫、執行SQL查詢、處理結果集、事務處理等內容;另外,還介紹了資料庫系統的高階功能和效能最佳化技巧,如索引最佳化、查詢最佳化、分割槽表、併發控制等內容。這部分內容幫助開發人員編寫高效、可靠的應用程式。

  • 參考手冊(Reference Manual)

  參考手冊部分提供了資料庫系統的詳細參考資料,包括系統引數、錯誤程式碼、函式和儲存過程的說明等。這部分內容通常比較龐大,是查閱特定功能和資訊的主要參考來源。

圖片來自Oracle官方文件

  04 小技巧

  除了熟悉文件目錄,下面再分享幾個小技巧,提高閱讀效率,。

  • 關鍵字搜尋

  如果我們不熟悉文件結構,點了幾頁也沒有找到相關的,內心的退堂鼓響起來了,小手不聽使喚的要開啟“夢裡尋他千百度”那味毒藥。

  這個時候使用文件搜尋功能就變得非常重要,以搜尋 PosrgreSQL索引為例,輸入 "index"返回315條相關項,第一條就是建立索引相關項。這樣使用起來就高效多了。

圖片來自Postgresql官方文件

  • Release Notes

  很多時候我們不是學習一個全新的資料庫,而是要了解最新版本的特性和差異,這個時候 Release Notes就特別重要了,它記錄了資料庫每個版本的變化、新增功能、修復的缺陷以及可能的已知問題。它能幫助使用者快速瞭解最新版本的更新和改進,確保使用的是最高效、最安全的資料庫版本。

圖片來自MySQL官方文件

  • 善用 CMD

  如果一個命令不是經常使用,我們只記得命令的關鍵字,它的語法、引數等使用並不是特別清楚,合格的程式猿肯定不是靠死記硬背記住這些,因為大部分資料庫在命令列(command)模式下,輸入:coomand --help ,命令列會自動輸出相關詳細的內容並給出文件連結,比如下圖 MongoDB 統計分析命令。

root@test:~# mongostat --help
Usage:  
mongostat <options> <polling interval in seconds>
Monitor basic MongoDB server statistics.
See http://docs.mongodb.org/manual/reference/program/mongostat/ for more information.
general options:
      --help                                      print usage
      --version                                   print the tool version and exit
verbosity options:
  -v, --verbose=<level>                           more detailed log output (include multiple times for more verbosity, e.g. -vvvvv, or specify a numeric value, e.g. --verbose=N)
      --quiet                                     hide all log output
connection options:
  -h, --host=<hostname>                           mongodb host(s) to connect to (use commas to delimit hosts)  
      --port=<port>                               server port (can also use --host hostname:port)
...

  05 總結

  上面說的這麼多,其實關鍵點就是掌握資料庫的文件目錄,這樣不管閱讀什麼資料庫的文件,我們都可以快速上手。

  總結下資料庫文件的作用,首先它提供資料庫詳盡的技術細節、API指南和操作說明還包含了設計理念和最佳實踐;其次透過閱讀文件,使用者也能體會到資料庫架構的複雜性和功能豐富性;另外,文件中的示例幫助使用者更好地理解如何在工作中應用這些知識。

  總之學習資料庫,官方文件是最好的資料,而看文件的第一步就是掌握其結構,另外本文也介紹了一些小技巧。

  如果這篇文章對你有幫助,歡迎點選留言、在看和轉發。

   作者介紹

  司馬遼太傑,目前就職於一家國有企業,主要負責資料庫連續性保障、效能最佳化、架構選型和設計。10餘年資料庫架構和管理經驗,專注於資料庫運維、架構和行業發展,擅長常見關係型、NoSQL、MPP 等型別資料庫。杭州鄉下桐廬人,業餘熱愛歷史、足球,偶爾讀點閒書,歡迎關注個人公眾號“程式猿讀歷史”。


來自 “ 程式猿讀歷史 ”, 原文作者:司馬遼太傑;原文連結:https://mp.weixin.qq.com/s/JopevUzenPPLqqrVLg5QbQ,如有侵權,請聯絡管理員刪除。

相關文章