[MongoDB知識體系] 一文全面總結MongoDB知識體系

pdai發表於2021-03-11

♥MongoDB教程 - Mongo知識體系詳解♥

本系列將給大家構建MongoDB全域性知識體系。@pdai

知識體系

MongoDB學習引入

MongoDB生態

學習要點

1. MongoDB引入和生態介紹: 首先了解NoSQL基本的概念以及MongoDB基礎概念,進而引入MongoDB的生態。

  • Mongo入門 - MongoDB基礎概念
    • 在學習MongoDB之前先簡單瞭解相關概念。
  • Mongo入門 - MongoDB整體生態
    • 很多人在學習Mongo時僅僅圍繞著資料庫功能,圍繞著CRUD和聚合操作,但是MongoDB其實已經基本形成了它自身的生態了。我們在學習一項技能時一定要跳出使用的本身,要從高一點的格局上了解整個生態,這樣會對你構築知識體系有很大的幫助。。

2. MongoDB入門 - 基本使用: 開始學習MongoDB安裝,使用等。

3. MongoDB進階 - 原理和WiredTigger儲存引擎: 在學習完常用的基礎之後,我們再看下MongoDB的原理和WiredTigger儲存引擎。

  • Mongo進階 - MongoDB體系結構
    • 上面章節已經對MongoDB生態中工具以及使用有了基礎,後續文章我們將開始理解MongoDB是如何支撐這些功能的。我們將從最基本的MongoDB的體系結構開始介紹,主要包括MongoDB的包結構MongoDB的資料邏輯結構MongoDB的資料檔案結構。其中圍繞著MongoDB的資料檔案結構,將為我們後續介紹MongoDB的儲存引擎詳解打下基礎。
  • Mongo進階 - 原理和WiredTiger引擎
    • 開始初步瞭解MongoDB實現原理和WiredTiger引擎。
  • Mongo進階 - WT引擎:資料結構
    • MongoDB的WiredTiger儲存引擎背後採用了什麼樣的資料結構呢?本文將從常見引擎資料結構典型B-Tree資料結構磁碟資料結構, 記憶體資料結構, Page資料結構等方面詳解介紹。。
  • Mongo進階 - WT引擎:Page生命週期
    • 通過前文我們瞭解到資料以page為單位載入到cache; 有必要系統的分析一頁page的生命週期、狀態以及相關引數的配置,這對後續MongoDB的效能調優和故障問題的定位和解決有幫助。
  • Mongo進階 - WT引擎:checkpoint原理
    • Checkpoint主要有兩個目的: 一是將記憶體裡面發生修改的資料寫到資料檔案進行持久化儲存,確保資料一致性;二是實現資料庫在某個時刻意外發生故障,再次啟動時,縮短資料庫的恢復時間,WiredTiger儲存引擎中的Checkpoint模組就是來實現這個功能的。

4. MongoDB進階 - 資料庫核心知識點: 再者我們還學要進一步學習MongoDB的核心知識點。

5. MongoDB進階 - 資料模型設計: 在真正使用中,需要知道如何設計資料模型。

  • Mongo進階 - 系統設計:資料模型
    • MongoDB使用文件資料模型。
  • Mongo進階 - 系統設計:模式構建
    • MongoDB使用文件資料模型具有內在的靈活性,允許資料模型支援你的應用程式需求, 靈活性也可能導致模式比它們應有樣子的更復雜。這涉及到如何在MongoDB中設計資料庫模式(schema),有一個嚴峻的現實,大多數效能問題都可以追溯到糟糕的模式設計。

6. MongoDB進階 - 效能優化: 最後基於上述知識點,我們再瞭解下常見的效能優化的方式。

學習資料

下面是一些學習MongoDB的參考資料。@pdai

官網資料

最好的資料在官網。

入門系列

其它

Mongodb Geo2d索引原理

相關文章