[mongo] [認證] mongodb dba 考試學習指導

      網友投稿 1169 2025-04-02

      參考:https://university.mongodb.com/exam/guide


      參加考試

      您即將參加MongoDB認證考試。我們的免費學習指南將成為您準備考試的路線圖。我們為您提供最相關信息的摘要,以便您可以準確地指出最關注的領域。對這里所涉及的主題有充分的了解之后,您就應該做好通過的準備。祝好運!

      監察

      MongoDB專業認證考試完全在線提供,使您可以在家中或辦公室的舒適環境中方便地參加考試,同時由異地經紀人監控。監理人員將提供分步說明,以確保無縫的登機流程。完成身份驗證后,他們將連續監視您和您的測試環境,以確保考試的安全性和完整性,并幫助您避免發生任何意外違規行為。

      電腦要求

      要完成考試,您需要一臺帶有攝像機(網絡攝像機),麥克風和揚聲器的Windows或Mac計算機。不支持平板電腦(例如iPad和Google Chromebook)以及其他操作系統(例如Linux)。您必須能夠旋轉相機(可能是通過拿起筆記本電腦),以便監理人員可以看到房間中的所有物品,包括辦公桌。整個考試期間,網絡攝像頭,揚聲器和麥克風都必須保持打開狀態。考試期間不允許使用耳機。為了確保流暢的檢查體驗,保持穩定的連接非常重要。請在安排考試之前進行一次系統就緒檢查,然后再次接近您的考試約會日期以確認系統仍在運行。

      考試環境

      考試期間,您必須在私人房間內,而不能打擾。請要求其他人不要進入要參加考試的房間,因為這可能會導致考試違規。考試期間不允許訪問參考資料。請確保您的辦公桌區域無任何雜物,包括電子設備和記事本。監考人員會在考試開始之前要求您掃描辦公桌和房間區域,如果他們認為有必要,則會在整個考試期間定期掃描。您可以在白天或晚上進行注冊的考試期間的任何時間參加考試。考試時間為一周。他們通常在星期二的17:00 UTC開始和結束,但是請務必檢查您的考試的About頁面(DBA或Developer))的確切時間。

      計分

      該考試由60個多項選擇題和所有可以應用的問題組成。所有問題的權重均相等。您會發現回答所有問題的好處,因為不正確的答案不會受到任何懲罰。懸而未決的問題沒有任何好處。

      翻譯軟件

      您可以在考試期間使用翻譯軟件來翻譯問題。但是,請注意,MongoDB大學不支持任何翻譯軟件,也不能保證其翻譯的適當性或準確性。通過使用翻譯軟件,您承擔與之相關的所有風險。

      通用知識

      介紹

      本節將介紹您應該熟悉的基礎計算概念。您應該將這些視為了解MongoDB的先決條件。我們不會在課程中直接教授這些知識,但是考試中的某些問題假定您已掌握這些概念。您可以在計算機科學教科書中或通過搜索引擎(例如Google,Bing等)在Internet上搜索找到有關這些主題的詳細信息。

      基礎數據庫概念

      預期您將大致了解什么是數據庫,尤其是:

      Records (i.e. rows/documents)

      Tables/collections

      Databases

      身份驗證和授權概念

      joins及其在關系數據庫中的工作方式

      事務和基本了解與諸如提交和回滾之類的。

      內存管理和數據表示

      對于考試,您應該對以下內容有所了解:

      物理內存

      虛擬內存

      內存映射

      數據的十六進制(基數16)表示

      JavaScript編程基礎

      對于考試,您應該知道:

      如何在JavaScript中為變量賦值

      如何迭代(例如,使用for或while)

      概念(Philosophy and Features

      在該部分中,我們將驗證您是否了解以下內容:

      MongoDB的主要功能及其提供的功能

      JSON和BSON的基礎知識

      高層次的MongoDB數據模型

      高級別的MongoDB查詢模型

      MongoDB中的數據一致性和可用性

      《MongoDB體系結構指南》和此視頻講座簡要介紹了這些主題。我們在下面對此材料進行擴展。

      JSON格式

      對于考試,您應該知道:

      JSON支持哪些數據類型,例如對象和數組

      JSON對象和數組的結構

      如何在JSON對象和數組中嵌套數據

      如何讀取JSON

      資源:

      影片:

      JSON簡介

      重新訪問JSON

      JSON規格

      什么是MongoDB中的文檔

      文件:

      JSON簡介

      外部鏈接:

      json.org

      BSON

      對于考試,您應該知道:

      BSON是二進制JSON數據格式

      我們將BSON描述為輕量級,可遍歷和高效的含義

      BSON如何使用顯式類型信息,值的二進制表示形式和顯式字節長度對值進行編碼。

      資源:

      影片:

      BSON

      BSON與JSON

      文件:

      BSON規范

      The Mongo Shell

      對于考試,您應該知道:

      如何在mongo shell中列出可用的數據庫/集合

      如何切換到特定的數據庫上下文

      如何編寫JavaScript代碼以創建示例數據以及完成其他簡單任務

      如何使用“打印”功能打印輸出

      Mongo Shell中可用的管理命令

      資源:

      視頻:

      課程視頻

      文件:

      mongo Shell入門

      mongo Shell快速參考

      您還應該知道如何在Shell中使用數據類型。

      垂直和水平擴展

      對于考試,您應該知道:

      垂直和水平擴展之間的區別

      分片是MongoDB進行水平擴展的方法

      資源:

      網絡研討會:

      擴展MongoDB網絡研討會系列

      文件:

      分片介紹

      MongoDB和關系數據庫

      對于考試,您應該知道:

      由于可伸縮性原因,MongoDB通常不包含在關系數據庫管理系統中的功能

      關系數據模型通常與MongoDB中的數據模型有何不同

      資源:

      視頻:

      MongoDB和關系數據庫

      文件:

      SQL到MongoDB的映射圖

      MongoDB.com:

      比較MongoDB和MySQL

      MongoDB中的靈活架構

      對于考試,您應該了解:

      為什么我們說MongoDB具有靈活的架構(有時稱為“動態架構”)

      這與關系數據庫有何不同

      有關MongoDB中寫操作的原子性問題

      資源:

      文件:

      MongoDB中的靈活架構

      CRUD

      在認證考試的CRUD部分,我們將驗證您:

      了解MongoDB查詢語言中的所有創建,讀取,更新和刪除(CRUD)操作

      熟悉常用的CRUD運算符以及如何使用它們

      了解MongoDB支持哪些數據類型

      在本節中,我們不會測試您是否記住了MongoDB查詢語言語法。但是,您應該能夠區分正確編寫的查詢和未正確編寫的查詢。您還應該知道哪些查詢參數是必需的,哪些是可選的,以及如何使用查詢參數。我們不希望您記住查詢運算符,但是您應該能夠從一組選擇中識別出正確的運算符。

      參考:

      MongoDB CRUD操作

      MongoDB基本介紹

      MongoDB查詢語言(MQL)演示

      Create

      對于考試,您應該能夠:

      正確使用插入,保存,更新和findAndModify命令創建新文檔

      將插入命令與其功能描述相匹配

      知道如何執行批量插入

      了解_id字段的唯一性約束及其對CRUD操作的影響

      了解如何在MongoDB中創建和使用ObjectId

      您應該熟悉_id字段及其特殊屬性:

      _id是每個MongoDB文檔中必填的字段。_id字段對于用于其集合的集合必須具有唯一的值。您可以將_id字段視為文檔的主鍵。如果您創建的新文檔不包含_id字段,則MongoDB會自動創建該字段并分配一個唯一的BSON ObjectId。如果文檔包含_id字段,則_id值在集合中必須唯一,以避免重復的鍵錯誤。

      視頻:

      插入新文檔-ObjectId

      復合_id字段

      文件:

      對象編號

      _id字段

      可以通過以下命令來創建文檔:

      db.collection.insert()

      視頻:

      插入新文檔-insert()和錯誤

      插入新文檔-insert()順序

      文件:

      插入文件

      db.collection.insertOne()

      db.collection.insert()

      db.collection.insertMany()

      db.collection.save()更新現有文檔或插入新文檔,具體取決于其文檔參數。

      文件:

      db.collection.save()

      如果upsert設置為true,并且沒有文檔符合查詢條件,則db.collection.update()將在集合中插入新文檔。

      視頻:

      補習課程視頻

      Upsert-更新還是插入?

      文件:

      db.collection.update()(僅當upsert:true設置時才插入)

      如果不存在匹配項,則插入新文檔(Upsert)

      如果不存在用于更新操作的匹配文檔,則db.collection.findAndModify()可能會導致插入。

      文件:

      db.collection.findAndModify()

      增補

      返回新文件

      有關文檔創建的大多數問題都將涉及db.collection.insert()命令。插入通常很簡單。

      Upsert可能更復雜。在下面的示例中,假定foo集合尚未包含a = 5和b <= 7的文檔。

      > db.foo.update( { a : 5, b : { $lte : 7 } }, { $set : { c : 8 } }, { upsert : true } )

      WriteResult({

      "nMatched" : 0,

      "nUpserted" : 1,

      "nModified" : 0,

      "_id" : ObjectId("55b0200e5ef34083de46367e")

      })

      > db.foo.find()

      { "_id" : ObjectId("55b0200e5ef34083de46367e"), "a" : 5, "c" : 8 }

      在這種情況下,將插入一個新文檔。在此特定情況下,新文檔包含值c:8,因為upsert指示設置它。查詢文檔還為創建的文檔貢獻字段。在這種情況下,還設置了:5。無法從查詢中確定b的值,因此將不會設置它。最后,將ObjectId分配給_id字段。

      最后,您可以通過將數組傳遞到db.collection.insert()或db.collection.bulkWrite()進行批量插入。您應該知道有序和無序批量插入之間的區別。您還應該知道何時使用批量操作與何時使用insertMany()之間的區別。

      文件:

      插入多個文件

      批量寫入操作

      db.collection.bulkWrite()

      批量操作方法

      Read

      在MongoDB中,您可以使用db.collection.find()方法或db.collection.findAndModify()方法閱讀文檔。您應該熟悉這兩個命令,但是find()方法將在考試中獲得更大的覆蓋范圍。

      對于考試,您應該能夠:

      正確使用查詢,投影和選項參數

      排序查詢結果

      展示對所有匹配和投影運算符的理解

      讀取和解釋MongoDB查詢中使用的正則表達式

      展示對find()查詢如何與數組一起使用的理解

      從MongoDB 4.4開始,作為使find和findAndModify投影與聚合的$ project階段保持一致的一部分,

      find和findAndModify投影可以接受聚合表達式和聚合語法,包括使用文字和聚合變量。通過使用聚合表達式和語法,您可以投影新字段或使用新值投影現有字段。

      find和findAndModify投影可以使用嵌套形式指定嵌入字段;例如{field:{nestedfield:1}}以及點符號。在早期版本中,只能使用點符號。

      在MongoDB中,使用以下方法執行數據讀取:

      db.collection.find()

      影片:

      find()簡介

      讀取標量字段

      讀取數組字段

      投影

      db.collection.find()的運算符:

      比較運算符

      邏輯運算符

      表達查詢運算符

      元素運算符

      正則表達式運算符

      數組運算符:

      數組運算符:$ all

      數組運算符:$ size

      數組運算符:$ elemMatch

      文件:

      db.collection.find()

      db.collection.findAndModify()

      db.collection.findOne()

      查詢文件

      請記住,盡管findOne()方法返回單個文檔,但是find()查詢將返回游標:

      影片:

      光標課

      文件:

      在mongo Shell中迭代游標

      還有其他的集合讀取方法,這些方法不會返回游標,但是您應該熟悉這些方法。

      db.collection.count()

      影片:

      count()課程

      文件:

      計數()

      db.collection.distinct()

      文件:

      不同()

      還有其他方法可以應用于游標本身。這些可以返回一個數字(例如,計數),或者可以修改結果集(即,排序,跳過和限制)。您可能還應該知道如何手動迭代游標。有關游標方法的列表,請參見MongoDB文檔。

      cursor.count()

      類似于collection.count()

      cursor.count()

      sort()和limit()

      [mongo] [認證] mongodb dba 考試學習指導

      cursor.sort()

      排序文件

      cursor.skip()

      跳過文檔

      cursor.limit()

      極限文件

      cursor.next()

      cursor.next()文檔

      cursor.allowDiskUse()-4.4版中的新功能

      cursor.allowDiskUse()文檔

      有關游標的更多信息

      您也可以投影結果以限制返回的字段。

      影片:

      投影課

      陣列算子與投影

      文件:

      從查詢返回的項目字段

      db.collection.find()中的投影

      Update

      對于考試,您應該能夠:

      正確使用save,update和findAndModify命令來突變現有文檔

      區分哪個參數找到要更改的文檔,然后更改它們

      解釋出現給您的任何更新操作符的行為

      識別upserts和db.collection.save()何時插入文檔

      更新會修改現有文檔。可以使用一些收集方法來進行更新,其中一些方法在插入部分中:

      db.collection.save()

      如果指定了_id并且與現有文檔匹配,它將更新。

      save()文檔

      db.collection.findAndModify()

      findAndModify()文檔

      db.collection.findOneAndUpdate()

      findOneAndUpdate()文檔

      db.collection.update()

      除非指定upsert:true,并且查詢不匹配任何文檔,否則它將更新。

      update()文檔

      更新文件

      在update參數中未指定運算符的情況下,將進行批量更新

      更新文件

      批發更新課程視頻

      經營者

      更新運算符

      更新操作員文檔

      $ set(修改字段)

      $ set課程視頻

      $ set文檔

      $ unset(刪除字段)

      $未設置課程視頻

      $未設置文檔

      $重命名

      $重命名文檔

      $ setOnInsert

      $ setOnInsert文檔

      $ inc

      $ inc文檔

      $ mul

      $ mul文檔

      $ min和$ max

      $ min文檔

      $ max文檔

      數組運算符

      數組運算符課程視頻

      位置$文檔

      $ addToSet文檔

      $ pop文檔

      $ pull文檔

      $ pull所有文檔

      $ push文檔

      如果您使用$ push(有時是$ addToSet),則還有其他修飾符

      $每個文檔

      $ slice文檔

      $ sort文檔

      $ position文檔

      多次更新

      多次更新課程視頻

      更新一

      db.collection.updateOne()

      更新很多

      updateMany()

      db.collection.updateMany()

      Delete

      對于考試,您應該能夠:

      刪除集

      建立一個查詢,該查詢僅刪除您要刪除的文檔

      管理數據刪除的替代方法

      視頻:

      刪除文件并收集

      文件:

      刪除集合:-從MongoDB 4.4開始,db.collection.drop()方法和drop命令會在刪除集合之前中止目標集合上正在進行的任何正在進行的索引構建。在MongoDB 4.4之前的版本中,嘗試刪除具有進行中索引的集合會導致錯誤,并且不會刪除該集合。-?db.collection.drop()?-降命令

      db.collection.remove()

      db.collection.deleteOne()

      db.collection.deleteMany()

      db.collection.findOneAndDelete()

      通過設置TTL使集合中的數據過期

      Indexes

      在認證考試中,我們將驗證您:

      了解MongoDB中可用的索引類型

      單字段索引(Single Field Indexes)

      復合索引(Compound Indexes)

      多鍵索引(Multikey Indexes)

      地理空間指數(Geospatial Indexes)

      文字索引(Text Indexes)

      哈希索引(Hashed Indexes)

      通配符索引(Wildcard Indexes)

      了解索引屬性:

      TTL

      (Sparse)

      唯一(Unique)

      部分的(Partial)

      (Hidden)

      知道如何使用索引提高查詢效率

      了解索引的寫入性能成本

      介紹

      以下資源提供了索引的基本介紹。

      影片:

      索引簡介

      文件:

      指標

      索引名稱

      默認_id索引

      在創建集合期間,MongoDB在_id字段上創建唯一索引。_id索引可防止客戶端為_id字段插入兩個具有相同值的文檔。您不能將此索引放在_id字段上。

      -文檔:

      默認_id索引

      創建和刪除索引

      在考試中,我們將確保您:

      知道如何創建索引

      知道如何刪除索引

      影片:

      createIndex(),getIndexes(),dropIndex()

      創建索引

      文件:

      db.collection.createIndex()

      db.collection.getIndexes()

      db.collection.dropIndex()

      db.collection.dropIndexes()

      db.collection.drop()?-從數據庫中刪除一個集合或視圖。該方法還刪除與刪除的集合關聯的所有索引。

      Collection Scans

      對于考試,您應該知道:

      當必須檢查集合中的每個文檔以確定查詢的結果集時,就會發生“集合掃描”

      給定查詢和可用索引列表,是否進行收集掃描

      為什么不希望進行收集掃描

      影片:

      集合掃描

      單字段索引

      對于考試,您應該能夠:

      識別單字段索引

      知道何時使用單字段索引(何時不使用)

      用于.find()查詢

      用于.update()查詢

      用于.remove()查詢

      知道如何在子文檔中的字段上創建單字段索引

      這里有一些資源可以幫助您:

      影片:

      單字段索引第1部分

      單一字段索引第2部分

      文件:

      單字段索引

      在嵌入式字段上創建索引

      在嵌入式文檔上創建索引

      用單字段索引排序

      復合索引

      在考試中,您應該知道:

      什么是復合指數

      如何使用復合索引的前綴來滿足查詢

      影片:

      復合索引第1部分

      復合索引第2部分

      文件:

      復合索引

      前綴

      在多個字段上排序

      多鍵索引

      在考試中,您應該知道:

      如何將多鍵索引與其他索引類型區分開

      多鍵索引限制

      多鍵索引中將為特定文檔創建多少索引鍵

      多鍵索引是數組字段上的索引。索引將為每個數組元素包含一個鍵。

      影片:

      多鍵索引

      點表示法和多鍵

      文件:

      多鍵索引

      多鍵索引范圍

      地理空間指數

      對于考試,您將需要知道:

      如何創建2d和2dsphere索引

      如何在MongoDB中為2dsphere索引字段創建geoJSON點

      如何查詢geoJSON點:

      一圈內

      接近一點

      在多邊形內

      為了支持對地理空間坐標數據的有效查詢,MongoDB提供了兩個特殊的索引:返回結果時使用平面幾何的2d索引和使用球面幾何返回結果的2dsphere索引。

      資源:

      視頻:

      地理空間指數

      文件:

      地理空間索引和查詢

      GeoJSON對象

      2d索引

      創建二維索引

      查詢二維索引

      2dsphere索引

      創建一個2dsphere索引

      查詢2dsphere索引

      使用球面幾何計算距離

      文本索引

      對于考試,您將需要知道:

      如何建立文字索引

      如何使用文本索引進行查詢

      如何按文字分數對結果進行排序

      資源:

      視頻:

      MongoDB中的文本索引

      文件:

      文字索引

      創建文本索引

      文字搜尋范例

      哈希索引

      對于考試,您將需要知道:

      如何創建哈希索引

      如何創建復合哈希索引

      資源:

      文件:

      散列索引

      創建復合哈希索引

      通配符索引

      對于考試,您應該知道:

      如何創建通配符索引

      資源:

      視頻:

      通配符索引:第1部分

      通配符索引:第2部分

      通配符索引用例

      文件:

      通配符索引

      通配符索引查詢/排序支持

      索引排序

      對于考試,您將需要知道:

      如何用索引排序

      如何使用復合索引來過濾和排序

      如何使用復合索引執行復合排序

      何時索引對復合排序有效或無效

      影片:

      什么時候可以用索引排序

      文件:

      使用索引對查詢結果進行排序

      .explain()方法

      對于考試,您應該知道:

      如何使用db.collection.explain()創建一個Explainable對象并使用它來解釋游標

      如何用cursor.explain()解釋光標

      解釋計劃的三個詳細設置及其提供的內容。

      如何閱讀每種類型的解釋計劃來確定事物,例如:

      查詢返回了多少文檔

      查詢讀取了多少個文檔

      查詢查看了多少索引條目

      查詢使用哪個索引

      進行收集掃描時

      查詢期間查看了多少個索引條目

      查詢分片集合中涉及哪些分片

      如何識別查詢已被覆蓋

      是否使用索引對查詢進行排序

      查詢花費了多長時間(或估計花費了多長時間)

      哪些類型的查詢可以使用索引(.find()、. update()、. remove())

      參考:

      查詢性能的技巧和竅門:讓我們對它們進行.explain()

      資源:

      影片:

      了解解釋第1部分

      了解解釋第2部分

      文件:

      cursor.explain()

      db.collection.explain()

      說明結果

      選擇索引

      對于考試,您應該知道:

      當可以應用多個索引時如何選擇索引

      重新運行查詢優化器時

      影片:

      選擇索引

      索引使用效率

      查詢計劃

      文件:

      查詢計劃

      Covered Queries

      對于考試,您需要了解以下內容:

      涵蓋的查詢

      為什么涵蓋的查詢對性能有好處

      如何識別說明計劃中已發生覆蓋查詢

      視頻:

      涵蓋查詢

      文件:

      涵蓋查詢

      索引策略

      對于考試,您應該知道:

      如何創建索引以支持對一個字段進行排序的查詢,對第二個字段進行精確匹配的查詢以及對第三個字段進行范圍查詢的索引

      何時可以使用索引對特定查詢進行排序

      選擇性查詢的數量以及它們可能從索引中受益的數量

      資源:

      影片:

      索引使用效率2

      索引注釋

      文件:

      索引策略

      優化查詢性能

      索引常見問題

      查詢優化

      索引對寫入性能的影響

      索引通常會提高讀取性能,但會降低寫入性能。諸如更新和刪除之類的混合操作(例如,具有查找和寫入操作)可能取決于用例(盡管使用索引通常更快)。

      對于考試,您將想知道:

      為什么索引會減慢寫操作的速度

      為什么更新和刪除操作會因索引而受益或降低性能(但通常會受益)

      資源:

      視頻:

      插入效果

      文件:

      寫操作性能

      唯一索引

      對于考試,您應該知道:

      如何創建唯一索引

      如何從db.collection.getIndexes()命令識別唯一索引

      當您嘗試插入值與現有文檔匹配的唯一索引字段的文檔時會發生什么?

      獨特的復合索引如何工作

      如果您嘗試在已經包含具有唯一字段非唯一值的文檔的集合上創建唯一索引,會發生什么情況

      資源:

      視頻:

      索引創建選項,唯一

      文件:

      唯一索引

      TTL索引

      對于考試,您應該知道:

      如何建立TTL索引

      如何在db.collection.getIndexes()的輸出中識別TTL索引

      并確認刪除發生的時間

      知道何時絕對不會刪除文檔,以及何時會刪除

      資源:

      視頻:

      TTL索引

      文件:

      TTL索引

      隱藏索引

      對于考試,您應該知道:

      如何創建隱藏索引

      如何隱藏現有索引

      如何取消隱藏現有索引

      什么時候以及為什么要使用隱藏索引

      資源:

      文件:

      隱藏索引

      部分索引

      從MongoDB 3.2開始,MongoDB提供了創建部分索引的選項。部分索引提供了稀疏索引功能的超集。如果您使用的是MongoDB 3.2或更高版本,則應優先使用部分索引而不是稀疏索引。

      對于考試,您應該知道:

      如何創建部分索引

      偏指數行為

      與稀疏指數比較

      對部分指數的限制

      資源:

      文件:

      部分索引

      稀疏索引

      混合索引構建

      對于考試,您將需要知道:

      如何在填充的集合上建立索引

      索引構建如何影響數據庫性能

      資源:

      視頻:

      索引構建

      索引鍵長度限制

      文件:

      在填充的集合上建立索引

      在副本集上建立索引

      在分片群集上建立索引

      字符串字段和索引的正則表達式

      對于考試,您將需要知道:

      標準索引與字符串字段的行為方式(與文本索引相比)

      如何通過在左側錨定正則表達式來最有效地使用索引

      資源:

      正則表達式中的索引使用

      Replication

      在認證考試中,我們將嘗試驗證您:

      了解復制的好處

      了解速度和耐用性之間的權衡

      了解操作日志工作原理的基礎知識,包括冪等和基于語句的復制等概念

      知道節點(主節點或非主節點)發生故障時會發生什么

      介紹

      復制是關于可用性和持久性的。一般來說,它不是用于縮放。這就是分片的目的。

      影片:

      什么是復制

      MongoDB副本集

      異步復制

      文件:

      復制簡介

      副本集數據同步

      節點數

      在考試中,您應該知道:

      創建節點時要使用的選項,例如:

      Arbiter

      Delayed

      votes

      priority

      資源:

      文件:

      副本集成員

      延遲成員

      隱藏的成員

      非投票成員

      副本集配置

      復制集仲裁器

      啟動副本集

      對于考試,您應該熟悉:

      如何啟動副本集(或啟動單個服務器并添加副本集成員)

      副本集中輔助節點的初始同步

      資源:

      視頻:

      設置副本集

      文件:

      rs.initiate()

      初始同步

      副本集部署教程

      選舉

      對于考試,您將需要知道:

      可以觸發選舉的事件

      集合中的優先級,投票,optime和無法訪問的服務器將如何影響選舉結果

      哪個節點將在大選中獲勝

      資源:

      視頻:

      故障轉移和選舉

      文件:

      Elections

      故障轉移(Failover)

      對于考試,您將需要知道:

      是什么觸發故障轉移

      故障轉移觸發選舉

      資源:

      視頻:

      自動故障轉移

      故障轉移示例

      文件:

      副本集高可用性

      回滾

      對于考試,您將需要知道:

      哪些事件系列將觸發回滾或不觸發回滾

      被回滾的數據會發生什么

      資源:

      視頻:

      Recovery

      文件:

      回滾

      回滾時間限制

      回滾目錄

      rs.status()

      對于認證考試,您應該能夠:

      閱讀并了解rs.status()命令的輸出

      知道rs.status()中有什么數據

      資源:

      視頻:

      副本集狀態

      文件:

      replSetGetStatus

      副本集重新配置

      對于認證考試,您將需要能夠:

      添加和刪 除副本集成員

      重新配置副本集

      資源:

      文件:

      rs.add()

      rs.remove()

      rs.reconfig()

      重新配置副本集

      4.4中的副本集重新配置更改

      影片:

      重新配置副本集

      Oplog

      對于認證考試,您需要:

      了解MongoDB基于語句的復制的本質

      了解為什么oplog操作必須是冪等的

      了解操作日志中存儲了哪些操作

      知道oplog存儲文檔的_id以進行寫入

      計算特定寫操作可能有多少個oplog條目(每個受影響的文檔一個)

      資源:

      視頻:

      基于語句的復制與二進制復制

      文件

      副本集Oplog

      上限集合

      最短Oplog保留期限

      冪等(詞匯)

      流復制

      Read Preference

      對于考試,您應該知道:

      對于每個可能的讀取關注點,可以查詢哪個或哪些節點(也取決于節點的狀態)

      當您的讀取首選項允許您讀取陳舊數據時

      資源:

      文件:

      閱讀偏好參考

      影片:

      閱讀偏好簡介

      閱讀首選項

      Write Concern

      對于考試,您應該知道:

      默認寫關注

      如何將寫入關注設置為多數或固定數量的節點

      對于給定的寫入關注點,多少個節點將具有數據副本

      如何確保在確認之前寫到日志

      資源:

      影片:

      編寫關注原則

      寫關注點:第1部分

      寫關注點:第2部分

      檢查“ w”參數

      編寫關注的用例和模式

      文件:

      寫關注

      寫關注參考

      默認寫問題

      寫副本集關注點

      全局默認寫問題

      4.4中的副本集寫確認

      Sharding

      在認證考試中,我們將驗證您:

      了解水平擴展以及分片如何在MongoDB中提供此功能

      知道如何構造一個好的分片密鑰,以及選擇分片密鑰會出什么問題

      了解負載均衡器的作用

      了解配置服務器的角色及其工作方式。

      介紹

      分片與擴展有關。使用分片,您可以將數據分布在多個副本集上,每個副本集都是分片群集中的邏輯“節點”。

      請注意,分片和復制解決了不同的問題。復制與數據的持久性和高可用性有關,而分片與讀寫工作負荷的水平擴展有關。

      資源:

      文件:

      分片介紹

      分片集群組件

      碎片

      部署分片集群

      視頻:

      分片簡介

      分片架構

      分片鍵

      對于考試,您應該知道:

      從MongoDB 4.2開始,分片鍵字段值是可變的,并且可以更改,除非分片鍵字段是不可變的_id字段

      什么是好的分片鍵

      分片密鑰不好的原因

      分片密鑰如何在MongoDB中實現基于范圍的分片

      資源:

      文件:

      分片鍵

      缺少分片鍵

      分片索引

      MongoDB 4.4版中的更改

      視頻:

      分片鍵

      塊和平衡器(Chunks and the Balancer)

      對于考試,您應該知道:

      如何通過分片鍵范圍定義塊

      如何確定塊范圍是否包含特定文檔

      當塊拆分自動發生時

      平衡器如何使用塊來保持群集平衡

      資源:

      文件:

      塊(詞匯表條目)

      管理分片集群平衡器

      分片群集中的塊分割

      分片集合平衡

      遷移分片集群中的塊

      修改分片群集中的塊大小

      MongoDB 4.4版中的更改(巨型塊遷移)

      影片:

      大塊

      平衡性

      配置服務器和群集元數據(Config Servers and Cluster Metadata)

      對于考試,您應該知道:

      哪些數據配置服務器包含

      如何訪問配置服務器中的數據

      配置服務器不可用時會發生什么

      哪些類型的服務器構成配置服務器

      當您的配置服務器無法選擇主服務器時會發生什么

      資源:

      文件:

      配置服務器

      副本集配置服務器

      配置服務器可用性

      分片集群元數據

      影片:

      群集設置拓撲

      設置分片集群

      配置數據庫

      預分割數據Pre-Splitting Data

      對于考試,您應該知道:

      如何預分割塊

      為什么要預分割塊

      如何手動分割塊

      如何手動合并塊

      資源:

      文件:

      創建塊

      分割塊

      合并塊

      分片群集中的查詢

      對于考試,您應該知道:

      有針對性的查詢與分散收集查詢的性能影響

      給定一個查詢和分片配置的描述,該查詢是針對性的還是分散性的

      如何讀取.explain()輸出以確定哪些碎片受查詢影響

      分片群集中的排序和聚合工作方式

      什么是mongos節點及其在分片群集中的作用

      資源:

      文件:

      廣播業務

      目標操作

      說明結果

      分片集群查詢路由

      聚合管道和分片集合

      對沖讀取

      視頻:

      分片群集中的查詢

      目標與散點收集查詢

      選擇分片鍵

      對于考試,您應該知道:

      什么是好的分片鍵:

      高基數

      高選擇性

      非單調遞增/遞減值

      這些是什么意思

      資源:

      文件:

      選擇一個分片鍵

      使用哈希分片鍵對集合進行分片

      遠程分片

      視頻:

      選擇分片鍵

      選擇一個好的分片鍵

      Primary Shard

      對于考試,您應該知道:

      主分片包含哪些數據

      主分片上發生什么讀和寫操作

      聚合查詢如何使用主分片

      資源:

      文件:

      主分片

      應用程序和服務器管理

      對于認證考試,我們將驗證您:

      了解MongoDB日志和服務器日志的機制

      了解MongoDB的安全性

      了解監控和性能調整

      可以確定不同集群體系結構的優缺點

      能夠評估有關基本服務器診斷,維護,備份和災難恢復的選項。

      介紹

      雖然定義有些不確定,但是應用程序管理負責處理MongoDB與應用程序的關系。我們在這里考慮的功能包括:有線協議,有線加密和安全性。

      服務器管理負責架構設計,維護和調試部署。

      日志

      對于考試,您應該知道:

      該雜志的目的

      該日志被實現為二進制預寫日志

      軸頸如何在發生碰撞時確保耐用性。

      對于WiredTiger,日記工作方式的基礎,例如,將數據刷新到磁盤的頻率

      資源:

      文件:

      Journaling Mechanics

      Manage Journaling

      博客:

      MongoDB的日記如何工作

      MongoDB存儲引擎日記

      壓縮

      對于考試,您應該知道:

      MongoDB如何壓縮數據

      可用的壓縮庫

      壓縮的優點

      WiredTiger壓縮:

      使用WiredTiger,MongoDB支持所有集合和索引的壓縮。壓縮可以最大程度地減少存儲使用量,但會增加CPU的開銷。-?WiredTiger存儲引擎-壓縮

      snappy:

      壓縮/解壓縮庫旨在平衡有效的計算要求和合理的壓縮率。snappy是MongoDB使用WiredTiger的默認壓縮庫。-活潑-?WiredTiger壓縮文件

      prefix compression:

      通過每頁內存僅存儲一次相同的索引鍵前綴來減少內存和磁盤消耗。-壓縮

      zlib:

      與MongoDB使用snappy相比,該數據壓縮庫以更高的CPU成本提供更高的壓縮率。您可以將wiredTiger配置為使用zlib作為其壓縮庫。-?zlib的

      zstd:

      2版的新功能

      與zlib相比,提供更高的壓縮率和更低的CPU使用率的數據壓縮庫。

      Server Logs

      對于考試,您應該知道:

      服務器日志中捕獲了哪些查詢

      如何旋轉日志文件

      捕獲的常見事件:

      創建/刪除數據庫

      連接數

      資源:

      影片:

      服務器日志簡介

      文件:

      日志信息

      旋轉日志文件

      流程記錄

      探查器(The Profiler)

      對于考試,您應該知道:

      如何打開和關閉探查器或更改其設置

      分析器捕獲的內容

      該信息存儲在哪里

      資源:

      影片:

      剖析器簡介

      探查器演示

      分析概述

      檢查探查器操作

      通過時間戳過濾探查器

      文件:

      數據庫探查器

      數據庫探查器輸出

      博客:

      性能最佳實踐:查詢模式和分析

      監控和性能調整

      對于考試,您將需要知道:

      哪些工具可用于監視和調整MongoDB

      如何解釋簡單方案的輸出,例如:

      工作集的RAM用完了

      磁盤I / O已飽和

      資源:

      文件:

      監控MongoDB

      分析MongoDB的性能

      博客:

      性能最佳實踐:MongoDB數據建模和內存大小調整

      性能最佳實踐:硬件和操作系統配置

      MongoDB安全

      對于考試,您應該知道:

      如何在MongoDB中定義用戶角色和權限

      還有哪些其他最佳安全實踐可用

      參考:

      安全最佳實踐系列:Authn Authz

      安全最佳實踐系列:審計

      安全最佳實踐系列:字段級加密

      資源:

      影片:

      認證機制

      授權模型

      審核能力

      文件:

      安全介紹

      認證方式

      授權書

      加強網絡基礎設施

      集合級訪問控制

      稽核

      集群架構

      對于考試,您應該了解以下常見的部署模式:

      副本集

      分片集群

      資源:

      文件:

      副本集部署體系結構

      分片集群要求

      生產集群架構

      配置服務器可用性

      博客:

      性能最佳實踐:分片

      MongoDB數據平臺架構指南

      診斷和調試(Diagnostics and Debugging)

      對于考試,您應該知道:

      查看服務器,副本集和分片群集狀態的基本命令

      如何解釋這些命令

      解決可能出現的簡單問題的方法,例如:

      服務器已關閉

      配置服務器已關閉

      長時間運行的查詢占用了太多資源

      所有查詢都限于分片群集中的一臺服務器

      資源:

      影片:

      診斷和調試簡介

      currentOp和killOp

      服務器狀態簡介-1

      服務器狀態簡介-2

      文件:

      db.currentOp()

      db.serverStatus()

      診斷常見問題

      rs.status()

      sh.status()

      db.killOp()

      Maintenance

      對于考試,您應該能夠:

      旋轉日志文件

      從分片集群中刪除分片

      資源:

      文件:

      運行時數據庫配置

      升級到最新版本的MongoDB

      管理mongod流程

      終止正在運行的操作

      旋轉日志文件

      備份與恢復

      對于考試,您將需要知道:

      單個服務器和群集的備份選項

      文件系統快照

      mongodump

      如何從這些備份還原數據

      資源:

      文件:

      使用文件系統快照備份和還原

      使用MongoDB工具進行備份和還原

      從MongoDB備份還原副本集

      備份和還原分片群集

      意外關閉后恢復獨立服務器

      網絡研討會:

      Ops Manager簡介

      MongoDB Ops Manager數據表

      Server Tools

      對于認證考試,將驗證您是否了解:

      如何使用服務器工具導出和導入數據

      如何使用服務器工具監視服務器上的基本操作

      如何使用服務器工具備份和還原數據以及檢查備份的數據(僅限DBA)

      使用哪些工具來處理GridFS文件和分析磁盤I / O(僅DBA)

      介紹

      通過使用帶有--help選項的工具,可以找到大多數測試的信息。

      對于開發者考試,您需要了解以下內容:

      mongoimport

      mongoexport

      mongostat

      mongotop

      對于DBA考試,您需要了解以下內容:

      mongoimport

      mongoexport

      mongostat

      mongotop

      mongodump

      mongorestore

      mongofiles

      bsondump

      導入和導出數據

      對于考試,您應該知道如何在MongoDB和以下之間導入/導出數據:

      JSON文件

      CSV文件

      資源:

      文件:

      mongoimport

      mongoexport

      基本服務器監控

      對于考試,您應該知道:

      如何使用mongostat監視MongoDB

      如何使用mongotop查看服務器活動

      在mongostat和mongotop中診斷某些類型的性能問題時,哪些字段特別重要

      資源:

      影片:

      mongostat視頻

      mongotop視頻

      文件:

      mongostat

      Mongotop

      備份和還原數據(僅DBA)

      對于考試,您應該知道:

      如何使用mongodump和mongorestore保存和還原數據

      如何在mongodump或mongorestore中包含您的oplog

      資源:

      文件:

      mongodump

      mongorestore

      注意:

      對于正在進行分片事務的4.2+分片群集,mongodump和mongorestore不能成為備份策略的一部分。-參考

      高級MongoDB診斷(僅DBA)

      對于考試,您應該知道如何使用以下工具:

      bsondump

      jq工具:在MongoDB 4.4中,日志已更改為結構化日志,您需要了解如何使用jq工具來解析日志

      操縱BLOB(僅DBA)

      對于考試,您將需要能夠使用mongofiles將數據放入GridFS。

      資源:

      mongofiles

      儲存引擎

      對于考試,我們將驗證您是否知道:

      WiredTiger的并發級別

      WiredTiger可用的壓縮算法

      這些功能對MongoDB性能的影響

      介紹

      存儲引擎是數據庫的組件,負責管理如何在內存和磁盤上存儲數據。MongoDB支持多個存儲引擎,因為不同的引擎對于特定的工作負載性能更好。為您的用例選擇合適的存儲引擎會嚴重影響應用程序的性能。MongoDB 3.0引入了可插拔存儲引擎。

      文件:

      WiredTiger

      In-Memory Storage Engine

      Storage Engines Documentation

      WiredTiger

      WiredTiger是從MongoDB 3.2開始的默認存儲引擎。它非常適合大多數工作負載,建議用于新部署。WiredTiger提供了文檔級并發模型,檢查點和壓縮以及其他功能。

      WiredTiger的功能

      Locks/Concurrency

      WiredTiger支持文檔級并發

      Journaling

      建議對WiredTiger進行日志記錄

      從MongoDB 4.0開始,您不能指定--nojournal選項或storage.journal.enabled:使用WiredTiger存儲引擎的副本集成員為false。

      對于WT,它確保在檢查點之間將寫入寫入磁盤

      如果日志記錄少于或等于128個字節(WiredTiger的最小日志記錄大小),則WiredTiger不會壓縮該記錄。

      Data Compression

      默認情況下,WiredTiger使用塊壓縮與活潑的所有集合和前綴壓縮所有索引壓縮庫。

      對于集合,下面的塊壓縮庫也是可用的: -?zlib的?-?zstd(MongoDB中4.2獲得的起始)

      對于考試,您應該知道:

      WiredTiger中的壓縮選項

      WiredTiger支持文檔級并發(鎖定)

      默認設置

      WiredTiger緩存的工作方式

      文件:

      Concurrency FAQ

      Storage FAQ WiredTiger Section

      Index Prefix Compression

      Manage Journaling

      Journaling with WiredTiger Storage Engine

      影片:

      WiredTiger

      資料檔案

      這是WiredTiger數據目錄的示例:

      內存中存儲引擎

      從MongoDB Enterprise 3.2.6版開始,內存存儲引擎是64位版本中通用可用性(GA)的一部分。除某些元數據和診斷數據外,內存存儲引擎不維護任何磁盤上的數據,包括配置數據,索引,用戶憑據等。通過避免磁盤I / O,內存存儲引擎可實現更多功能。可預測的數據庫操作延遲。

      Journaling

      從版本4.2(以及4.0.13和3.6.14)開始,如果副本集成員使用內存中的存儲引擎(投票或不投票),但是副本集的writeConcernMajorityJournalDefault設置為true,則副本集成員記錄一個啟動警告。

      Concurrency

      Durability

      Transactions

      您無法在具有將writeConcernMajorityJournalDefault設置為false的分片的分片群集上運行事務,例如,具有使用內存存儲引擎的投票成員的分片。

      文件:

      內存中存儲引擎

      日記和內存中存儲引擎

      MongoDB 云數據庫 GaussDB(for Mongo)

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:餐飲服務管理系統是什么?
      下一篇:wps凍結窗口怎么設置
      相關文章
      亚洲日韩中文字幕一区| 亚洲视频中文字幕| 亚洲日本香蕉视频| 久久久久亚洲精品无码系列| 狠狠亚洲婷婷综合色香五月排名| 亚洲日韩在线第一页| avtt亚洲天堂| 成人亚洲网站www在线观看| 亚洲av无码日韩av无码网站冲| 亚洲色大成网站www尤物| 中文字幕亚洲精品无码| 亚洲日韩精品无码AV海量| 久久综合久久综合亚洲| 亚洲成a人片在线看| 亚洲一日韩欧美中文字幕在线| 国产成人精品日本亚洲11| 456亚洲人成在线播放网站| 33333在线亚洲| 国产人成亚洲第一网站在线播放| 亚洲成年网站在线观看| 亚洲中文精品久久久久久不卡| 亚洲日韩精品国产一区二区三区| 亚洲第一综合天堂另类专| 欧美亚洲国产SUV| 亚洲国产小视频精品久久久三级| 久久精品国产亚洲5555| 亚洲精品卡2卡3卡4卡5卡区| 亚洲成a人片77777老司机| 久久久久亚洲AV成人片| 亚洲日本乱码一区二区在线二产线 | 亚洲成a人片在线观看中文动漫| 亚洲AV无码久久精品蜜桃| 色婷婷六月亚洲婷婷丁香| 亚洲永久中文字幕在线| 亚洲熟女综合一区二区三区| 久久精品国产亚洲av天美18| 亚洲日韩在线观看免费视频| 亚洲精品无码久久久久sm| 亚洲精品私拍国产福利在线| 亚洲免费黄色网址| 亚洲av永久无码天堂网|