中級還沒有評分

NoSQL 與 MongoDB:從文件模型到複寫與分片

從 NoSQL 的分類與文件模型開始,學會 MongoDB 的查詢、聚合、索引、Schema 設計、交易、複寫集與分片,用一個社群 App 貫穿全課,準備好面試會追問的原理。

9 章・51 單元・約 11 小時 45 分鐘

課程介紹

這門課從 NoSQL 是什麼、MongoDB 跟關聯式資料庫差在哪開始,一路學到新增查詢修改刪除、聚合管道、索引與執行計畫、Schema 設計模式與反模式,再到交易與讀寫關注、複寫集的選舉與故障轉移、分片鍵怎麼挑,最後是儲存引擎、維運與新版本重點。 全課用同一個情境:一個小型社群 App,有使用者、貼文、留言、按讚、追蹤、通知與打賞點數。每段指令後面就是實際執行的結果,讀課文就看得懂;想動手的話,第一章會教你在自己電腦用 Docker 跑起 MongoDB 跟著做。時間、自動產生的編號這類每次不同的結果會另外註明。 每個單元還有「面試這樣答」,把觀念整理成面試時可以直接講的回答;程式端的寫法用 Python 的 pymongo 示範。

用哪個版本

先教不分版本的原理與用法,課文的結果在 MongoDB 8.0 實際跑過。近幾版真正重要的更新,以及舊題目常見的過時說法,集中在最後一章的「新版本重點」與「舊題目的過時答案」,前面的單元不逐一標版本。

你會學到

  • 說得出 NoSQL 的分類、MongoDB 適合與不適合的場景,以及它跟 MySQL、Redis 怎麼分工
  • 用 mongosh 寫出新增、查詢、更新、刪除與聚合管道,解常見的報表與分頁題型
  • 設計索引與複合索引的欄位順序,用 explain 找出慢查詢
  • 依存取模式設計 Schema:選擇嵌入或引用,避開無上限陣列這類反模式
  • 說清楚單一文件原子性、多文件交易、寫關注與讀關注的取捨
  • 說得出複寫集的選舉與故障轉移、分片鍵怎麼挑,以及各自的坑

學習地圖

    1. 1-1課程導覽學 MongoDB 要從哪裡開始?7 分
    2. 1-2NoSQL 是什麼:四大類與代表產品同樣叫 NoSQL,Redis 和 MongoDB 差在哪?12 分
    3. 1-3SQL 與 NoSQL 怎麼選社群 App 的資料,哪些放 MongoDB、哪些不該放?13 分
    4. 1-4文件模型:集合、文件、BSON 與 _id一筆文件裡到底存了什麼型別?ObjectId 是怎麼來的?14 分
    5. 1-5準備練習環境怎麼在自己電腦跑起 MongoDB?13 分

期末考

通過期末考,才算讀完整門課。

題數
30 題
及格分數
80 分
限時
不限時
沒過後要等
24 小時