亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > MongoDB中4種日志的詳細介紹

MongoDB中4種日志的詳細介紹

熱門標簽:呼和浩特外呼系統原理是什么 智能外呼系統官網 河南電話外呼系統招商 內蒙古營銷智能外呼系統哪個好 小裙科技電銷機器人怎樣 外呼線路資源屬于電信業務嗎 青白江400企業電話申請 crm外呼系統聯系方式 長沙電銷外呼防封卡是什么

前言

任何一種數據庫都有各種各樣的日志,MongoDB也不例外。MongoDB中有4種日志,分別是系統日志、Journal日志、oplog主從日志、慢查詢日志等。這些日志記錄著MongoDB數據庫不同方面的蹤跡。下面分別介紹這幾種日志。

系統日志

系統日志在MongoDB數據庫中很重要,它記錄著MongoDB啟動和停止的操作,以及服務器在運行過程中發生的任何異常信息。
配置系統日志的方法比較簡單,在啟動mongod時指定logpath參數即可

mongod -logpath=/data/log/mongodb/serverlog.log -logappend

系統日志會向logpath指定的文件持續追加。

Journal日志

journaling(日記) 日志功能則是 MongoDB 里面非常重要的一個功能 , 它保證了數據庫服務器在意外斷電 、 自然災害等情況下數據的完整性。它通過預寫式的redo日志為MongoDB增加了額外的可靠性保障。開啟該功能時,MongoDB會在進行寫入時建立一條Journal日志,其中包含了此次寫入操作具體更改的磁盤地址和字節。因此一旦服務器突然停機,可在啟動時對日記進行重放,從而重新執行那些停機前沒能夠刷新到磁盤的寫入操作。

MongoDB配置WiredTiger引擎使用內存緩沖區來保存journal記錄,WiredTiger根據以下間隔或條件將緩沖的日志記錄同步到磁盤

  1. 從MongoDB 3.2版本開始每隔50ms將緩沖的journal數據同步到磁盤
  2. 如果寫入操作設置了j:true,則WiredTiger強制同步日志文件
  3. 由于MongoDB使用的journal文件大小限制為100MB,因此WiredTiger大約每100MB數據創建一個新的日志文件。當WiredTiger創建新的journal文件時,WiredTiger會同步以前journal文件

MongoDB達到上面的提交,便會將更新操作寫入日志。這意味著MongoDB會批量地提交更改,即每次寫入不會立即刷新到磁盤。不過在默認設置下,系統發生崩潰時,不可能丟失超過50ms的寫入數據。

數據文件默認每60秒刷新到磁盤一次,因此Journal文件只需記錄約60s的寫入數據。日志系統為此預先分配了若干個空文件,這些文件存放在/data/db/journal目錄中,目錄名為_j.0、_j.1等

長時間運行MongoDB后,日志目錄中會出現類似_j.6217、_j.6218的文件,這些是當前的日志文件,文件中的數值會隨著MongoDB運行時間的增長而增大。數據庫正常關閉后,日記文件會被清除(因為正常關閉后就不在需要這些文件了).

向mongodb中寫入數據是先寫入內存,然后每隔60s在刷盤,同樣寫入journal,也是先寫入對應的buffer,然后每隔50ms在刷盤到磁盤的journal文件
使用WiredTiger,即使沒有journal功能,MongoDB也可以從最后一個檢查點(checkpoint,可以想成鏡像)恢復;但是,要恢復在上一個檢查點之后所做的更改,還是需要使用Journal

如發生系統崩潰或使用kill -9命令強制終止數據庫的運行,mongod會在啟動時重放journal文件,同時會顯示出大量的校驗信息。

上面說的都是針對WiredTiger引擎,對于MMAPv1引擎來說有一點不一樣,首先它是每100ms進行刷盤,其次它是通過private view寫入journal文件,通過shared view寫入數據文件。這里就不過多講解了,因為MongoDB 4.0已經不推薦使用這個存儲引擎了。

從MongoDB 3.2版本開始WiredTiger是MongoDB推薦的默認存儲引擎

需要注意的是如果客戶端的寫入速度超過了日記的刷新速度,mongod則會限制寫入操作,直到日記完成磁盤的寫入。這是mongod會限制寫入的唯一情況。

固定集合(Capped Collection)

在講下面兩種日志之前先來認識下capped collection。

MongoDB中的普通集合是動態創建的,而且可以自動增長以容納更多的數據。MongoDB中還有另一種不同類型的集合,叫做固定集合。固定集合需要事先創建好,而且它的大小是固定的。固定集合的行為類型與循環隊列一樣。如果沒有空間了,最老的文檔會被刪除以釋放空間,新插入的文檔會占據這塊空間。

創建固定集合:

db.createCollection("collectionName",{"capped":true, "size":100000, "max":100})

創建了一個大小為100000字節的固定大小集合,文檔數量為100.不管先到達哪個限制,之后插入的新文檔就會把最老的文檔擠出集合:固定集合的文檔數量不能超過文檔數量限制,也不能超過大小限制。

固定集合創建之后就不能改變,無法將固定集合轉換為非固定集合,但是可以將常規集合轉換為固定集合。

db.runCommand({"convertToCapped": "test", "size" : 10000});

固定集合可以進行一種特殊的排序,稱為自然排序(natural sort),自然排序返回結果集中文檔的順序就是文檔在磁盤的順序。自然順序就是文檔的插入順序,因此自然排序得到的文檔是從舊到新排列的。當然也可以按照從新到舊:

db.my_capped_collection.find().sort({"$natural": -1});

oplog主從日志

Replica Sets復制集用于在多臺服務器之間備份數據。MongoDB的復制功能是使用操作日志oplog實現的,操作日志包含了主節點的每一次寫操作。oplog是主節點的local數據庫中的一個固定集合。備份節點通過查詢這個集合就可以知道需要進行復制的操作。

一個mongod實例中的所有數據庫都使用同一個oplog,也就是所有數據庫的操作日志(插入,刪除,修改)都會記錄到oplog中

每個備份節點都維護著自己的oplog,記錄著每一次從主節點復制數據的操作。這樣,每個成員都可以作為同步源給其他成員使用。

如圖所示,備份節點從當前使用的同步源中獲取需要執行的操作,然后在自己的數據集上執行這些操作,最后再將這些操作寫入自己的oplog,如果遇到某個操作失敗的情況(只有當同步源的數據損壞或者數據與主節點不一致時才可能發生),那么備份節點就會停止從當前的同步源復制數據。

oplog中按順序保存著所有執行過的寫操作,replica sets中每個成員都維護者一份自己的oplog,每個成員的oplog都應該跟主節點的oplog完全一致(可能會有一些延遲)

如果某個備份節點由于某些原因掛了,但它重新啟動后,就會自動從oplog中最后一個操作開始進行同步。由于復制操作的過程是想復制數據在寫入oplog,所以備份節點可能會在已經同步過的數據上再次執行復制操作。MongoDB在設計之初就考慮到了這種情況:將oplog中的同一個操作執行多次,與只執行一次的效果是一樣的。

由于oplog大小是固定的,它只能保持特定數量的操作日志。通常,oplog使用空間的增長速度與系統處理寫請求的速率幾乎相同:如果主節點上每分鐘處理了1KB的寫入請求,那么oplog很可能也會在一分鐘內寫入1KB條操作日志。

但是,有一些例外:如果單次請求能夠影響到多個文檔(比如刪除多個文檔或者多文檔更新),oplog中就會出現多條操作日志。如果單個操作會影響多個文檔,那么每個受影響的文檔都會對應oplog的一條日志。因此,如果執行db.student.remove()刪除了10w個文檔,那么oplog中也就會有10w條操作日志,每個日志對應一個被刪除的文檔。如果執行大量的批量操作,oplog很快就會被填滿。

慢查詢日志

MongoDB中使用系統分析器(system profiler)來查找耗時過長的操作。系統分析器記錄固定集合system.profile中的操作,并提供大量有關耗時過長的操作信息,但相應的mongod的整體性能也會有所下降。因此我們一般定期打開分析器來獲取信息。

默認情況下,系統分析器處于關閉狀態,不會進行任何記錄。可以在shell中運行db.setProfilingLevel()開啟分析器

db.setProfilingLevel(level,slowms>) 0=off 1=slow 2=all

第一個參數是指定級別,不同的級別代表不同的意義,0表示關閉,1表示默認記錄耗時大于100毫秒的操作,2表示記錄所有操作。第二個參數則是自定義“耗時過長"標準,比如記錄所有耗時操作500ms的操作

db.setProfilingLevel(1,500);

如果開啟了分析器而system.profile集合并不存在,MongoDB會為其建立一個大小為若干MB的固定集合(capped collection)。如希望分析器運行更長時間,可能需要更大的空間記錄更多的操作。此時可以關閉分析器,刪除并重新建立一個新的名為system.profile的固定集合,并令其容量符合要求。然后在數據庫上重新啟用分析器。

可以通過db.system.profile.stats()查看集合的最大容量.

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Docker mongoDB 4.2.1 安裝并收集springboot日志的步驟詳解
  • 如何利用MongoDB存儲Docker日志詳解
  • MongoDB數據庫的日志文件深入分析
  • SpringBoot中logback日志保存到mongoDB的方法
  • Linux下定時切割Mongodb數據庫日志并刪除指定天數前的日志記錄
  • 深入講解MongoDB的慢日志查詢(profile)
  • 使用MongoDB分析Nginx日志的方法詳解
  • MongoDB運行日志實現自動分割的方法實例
  • Node.js和MongoDB實現簡單日志分析系統
  • MongoDB日志文件過大的解決方法
  • 詳解MongoDB中的日志模塊

標簽:池州 舟山 黃石 安順 楚雄 菏澤 白山 呼倫貝爾

巨人網絡通訊聲明:本文標題《MongoDB中4種日志的詳細介紹》,本文關鍵詞  MongoDB,中,4種,日志,的,詳細,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB中4種日志的詳細介紹》相關的同類信息!
  • 本頁收集關于MongoDB中4種日志的詳細介紹的相關信息資訊供網民參考!
  • 推薦文章
    黄色免费三级| 91麻豆精品国产自产在线观看一区 | 成人免费一级毛片在线播放视频| 精品视频免费在线| 999久久久免费精品国产牛牛| 国产高清在线精品一区a| 香蕉视频亚洲一级| 精品视频在线看| 一级片免费在线观看视频| 成人影院一区二区三区| 国产综合91天堂亚洲国产| 精品视频在线看 | 日韩免费片| 99久久精品国产高清一区二区 | 国产成人精品在线| 二级特黄绝大片免费视频大片| a级黄色毛片免费播放视频| 精品在线免费播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 99久久精品国产高清一区二区 | 在线观看成人网| 九九九国产| 国产福利免费视频| 国产伦精品一区三区视频| 国产a网| 国产综合91天堂亚洲国产| 黄视频网站免费| 久久国产一区二区| 成人免费观看男女羞羞视频| 韩国毛片 免费| 欧美1卡一卡二卡三新区| 久久国产精品永久免费网站| 日韩中文字幕一区二区不卡| 日韩在线观看免费| 国产网站免费在线观看| 日日夜夜婷婷| 亚洲不卡一区二区三区在线| 日韩一级精品视频在线观看| 成人免费观看的视频黄页| 亚洲精品影院久久久久久| 青青久热| 日本特黄特色aaa大片免费| 韩国三级香港三级日本三级| 欧美国产日韩在线| 午夜欧美成人香蕉剧场| 国产视频久久久久| 色综合久久天天综合| 91麻豆精品国产综合久久久| 久久精品成人一区二区三区| 国产成人精品影视| 色综合久久天天综合绕观看| 四虎久久精品国产| 午夜在线观看视频免费 成人| 国产亚洲精品aaa大片| 久久99这里只有精品国产| 日本免费乱人伦在线观看 | 日日爽天天| 国产麻豆精品hdvideoss| 黄色福利片| 色综合久久天天综线观看| 欧美国产日韩精品| 韩国毛片 免费| 国产一区免费在线观看| 国产一区精品| 亚洲精品影院久久久久久| 午夜在线亚洲| 日韩综合| 黄色短视屏| 精品在线视频播放| 欧美激情一区二区三区在线| 国产伦精品一区二区三区在线观看| 欧美激情伊人| 91麻豆精品国产片在线观看| 国产激情一区二区三区| 亚洲 激情| 日韩中文字幕在线亚洲一区| 久久成人亚洲| 国产a免费观看| 天天色色网| 久久国产影院| 午夜欧美成人香蕉剧场| 美女免费精品视频在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 尤物视频网站在线观看| 国产a免费观看| 欧美爱色| 麻豆网站在线免费观看| 亚洲精品影院| 97视频免费在线观看| 日韩一级黄色| 午夜家庭影院| 深夜做爰性大片中文| 欧美一级视频免费| 精品视频免费看| 四虎影视久久久| 成人免费网站久久久| 欧美1卡一卡二卡三新区| 国产91素人搭讪系列天堂| 欧美a级成人淫片免费看| 国产一区二区精品久| 国产一区二区精品久久| 中文字幕Aⅴ资源网| 国产成人女人在线视频观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 色综合久久手机在线| 欧美爱爱动态| 色综合久久天天综线观看| 精品视频在线观看视频免费视频 | 精品久久久久久影院免费| 九九精品久久久久久久久| 国产视频一区二区在线播放| 可以免费看毛片的网站| 一a一级片| 精品国产一区二区三区久久久蜜臀 | 99热精品在线| 日本在线www| 成人免费网站久久久| 精品国产一区二区三区免费| 国产综合成人观看在线| 一级毛片视频播放| 亚洲天堂在线播放| 国产精品12| 精品视频免费观看| 97视频免费在线| 亚洲wwwwww| 久久99中文字幕久久| 可以在线看黄的网站| 国产高清在线精品一区a| 亚洲 欧美 成人日韩| 国产一区二区精品久久91| 欧美一级视频免费观看| 亚洲 欧美 成人日韩| 国产麻豆精品高清在线播放| 一本高清在线| 国产欧美精品| 日韩中文字幕一区二区不卡| 可以免费看污视频的网站| 成人影院久久久久久影院| 成人影院一区二区三区| 成人a大片在线观看| 亚洲www美色| 精品国产一级毛片| 日韩欧美一及在线播放| 国产一区免费观看| 韩国三级香港三级日本三级la| 精品视频在线看 | 999久久66久6只有精品| 国产不卡高清在线观看视频| 黄色免费三级| 国产麻豆精品hdvideoss| 久久99中文字幕| 国产不卡精品一区二区三区| 美女免费毛片| 人人干人人插| 久久久成人网| 国产原创视频在线| 久久99这里只有精品国产| 久久精品店| 成人影院一区二区三区| 天天做人人爱夜夜爽2020毛片| 日本伦理网站| 成人免费一级毛片在线播放视频| 中文字幕97| 午夜欧美成人香蕉剧场| 一级女性大黄生活片免费| 久久久成人网| 你懂的福利视频| 成人免费观看网欧美片| 国产美女在线观看| 国产伦久视频免费观看 视频| 久久国产精品自线拍免费| 九九久久国产精品大片| 欧美一区二区三区在线观看| 一级片片| 国产综合成人观看在线| 免费国产一级特黄aa大片在线| 久久国产影院| 欧美日本韩国| 免费国产在线观看| 国产高清在线精品一区二区| 可以免费看毛片的网站| 国产原创视频在线| 欧美1区| 可以免费看毛片的网站| 国产成人精品在线| 亚洲精品影院| 黄视频网站在线免费观看| 欧美a级片免费看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产伦久视频免费观看视频| 精品国产亚洲人成在线| 99热精品在线| 青青久久精品| 国产不卡在线播放| 国产国语对白一级毛片| 国产不卡在线看| 精品美女| 欧美日本韩国| 欧美另类videosbestsex| 免费国产在线观看不卡|