天天看點

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

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

本系列将給大家建構MongoDB全局知識體系。@pdai
  • ♥MongoDB教程 - Mongo知識體系詳解♥
    • 知識體系
    • 學習要點
    • 學習資料
      • 官網資料
      • 入門系列
    • 其它

知識體系

MongoDB學習引入

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

MongoDB生态

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

學習要點

1. MongoDB引入和生态介紹: 首先了解NoSQL基本的概念以及MongoDB基礎概念,進而引入MongoDB的生态。
  • Mongo入門 - MongoDB基礎概念
    • 在學習MongoDB之前先簡單了解相關概念。
  • Mongo入門 - MongoDB整體生态
    • 很多人在學習Mongo時僅僅圍繞着資料庫功能,圍繞着CRUD和聚合操作,但是MongoDB其實已經基本形成了它自身的生态了。我們在學習一項技能時一定要跳出使用的本身,要從高一點的格局上了解整個生态,這樣會對你構築知識體系有很大的幫助。。
2. MongoDB入門 - 基本使用: 開始學習MongoDB安裝,使用等。
  • Mongo入門 - 基本使用:安裝和CRUD
    • 在了解MongoDB基礎概念後,本文将介紹MongoDB的安裝和最基本的CURD操作。
  • Mongo入門 - 基本使用:索引和聚合
    • 在了解MongoDB的基本CRUD操作後,常用的其它操作還有對字段的索引以及對字段的聚合操作。
  • Mongo入門 - 基本使用:效率工具
    • 本文将主要介紹常用的MongoDB的工具,這些工具可以極大程度的提升你的效率。
  • Mongo入門 - 基本使用:Java 低階API
    • 本文為低優先級,隻是向你介紹下MongoDB提供的原生的JavaAPI;而大多數公司使用Spring架構,會使用Spring Data對MongoDB原生API的封裝,比如JPA,MongoTemplate等。
  • Mongo入門 - 基本使用:Spring Data + Mongo
    • 本文為主要介紹Spring Data對MongoDB原生API的封裝,比如JPA,MongoTemplate等。以及原生API和Spring data系列之間的關系。
[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的核心知識點。
  • Mongo進階 - DB核心:索引實作
    • 資料庫核心知識點之索引
  • Mongo進階 - DB核心:複制集
    • 資料庫核心知識點之複制集
  • Mongo進階 - DB核心:分片Sharding
    • 資料庫核心知識點之複分片Sharding
  • Mongo進階 - DB核心:備份恢複
    • 資料庫核心知識點之備份恢複
5. MongoDB進階 - 資料模型設計: 在真正使用中,需要知道如何設計資料模型。
  • Mongo進階 - 系統設計:資料模型
    • MongoDB使用文檔資料模型。
  • Mongo進階 - 系統設計:模式建構
    • MongoDB使用文檔資料模型具有内在的靈活性,允許資料模型支援你的應用程式需求, 靈活性也可能導緻模式比它們應有樣子的更複雜。這涉及到如何在MongoDB中設計資料庫模式(schema),有一個嚴峻的現實,大多數性能問題都可以追溯到糟糕的模式設計。
6. MongoDB進階 - 性能優化: 最後基于上述知識點,我們再了解下常見的性能優化的方式。
  • Mongo進階 - 性能:查詢聚合優化
    • 在MongoDB中通過查詢聚合語句分析定位慢查詢/聚合分析

學習資料

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

官網資料

最好的資料在官網。
  • MongoDB官網
  • MongoDB資料庫文檔
  • MongoDB 常用Shell
  • MongoDB CRUD
  • MongoDB 聚合
  • MongoDB 資料模型
  • MongoDB 事務
  • MongoDB 索引
  • MongoDB 安全
  • MongoDB 副本
  • MongoDB 分片
  • MongoDB 管理
  • MongoDB 存儲

入門系列

  • MongoDB菜鳥教程
  • MongoDB入門教程

其它

Mongodb Geo2d索引原理

繼續閱讀