婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Mongodb的oplog詳解

Mongodb的oplog詳解

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

Oplog 是 MongoDB 實現復制集的關鍵數據結構,在復制集中 Primary 對數據庫操作之后就會產生一個 Oplog 文檔保存在 local.oplog.rs 集合中,Secondary 成員會拉取 Primary 的 Oplog 并重放相同的操作,從而達到 Secondary 成員與 Primary 有一致的數據。實際上復制集中每一個成員都會保存 Oplog,其他成員會根據連接延遲等因數選擇最近的成員拉取 Oplog 數據。

Oplog 存在集合 local.oplog.rs,這是系統內置集合,一個 capped collection,即是這個 collection 有固定大小,一旦寫滿數據會從頭開始寫入,就像一個圓形的隊列結構。這個 collection 大小在初始化集群時設置,默認的大小是 5% 的空閑磁盤空間,也可以在配置文件設置 oplogSizeMB 選項,或者在啟動 MongoDB 后使用 replSetResizeOplog 命令動態設置 collection 大小。

Oplog 與 MongoDB 的其他的文檔沒有什么不同,它固定有一些屬性:

  1. ts: MongoDB 的內置的特殊時間戳數據結構,如 Timestamp(1503110518, 1), 由秒級的 Unix 時間戳和一個順序增長的整數 increment 表示。長度為 64 位,其中 Unix 時間戳占 32 位,后 32 位可以保存同一秒內的第幾次操作。
  2. h: hash 值代表每個 Oplog 的唯一標識。
  3. v: Oplog 版本
  4. ns: namespace 命名空間,數據庫+集合,用 database.collection 表示。但如果是表操作命令等,變成 database.$cmd。
  5. op:operation type,操作類型,包含以下幾種:
    1. i: insert, 插入文檔
    2. u: update, 更新文檔
    3. d: delete, 刪除文檔
    4. c: command, 操作命令,如 createIndex 等
    5. n: 空操作,用于空閑時主從同步 Oplog 時間信息
  6. o: operation, Oplog 操作的具體內容,例如 i operation type,o 即是插入的文檔。對于 u operation type, 只更新部分內容, o 鍵的內容為 {$set: {...}}
  7. o2: 用于 update 操作,包含 _id 屬性值。

Oplog 的重放是冪等(idempotent)的,即是說同一個 Oplog 重放多次最終結果還是一致的。這是 MongoDB 將許多命令操作進行了轉化,保持生成的 Oplog 是可以冪等的,如執行以下 $inc 操作:

db.test.update({_id: ObjectId("533022d70d7e2c31d4490d22")}, {$inc: {count: 1}})

產生的 Oplog 為:

{
 "ts" : Timestamp(1503110518, 1),
 "t" : NumberLong(8),
 "h" : NumberLong(-3967772133090765679),
 "v" : NumberInt(2),
 "op" : "u",
 "ns" : "mongo.test",
 "o2" : {
  "_id" : ObjectId("533022d70d7e2c31d4490d22")
 },
 "o" : {
  "$set" : {
   "count" : 2.0
  }
 }
}

以上 MongoDB 可以保證 Oplog 的數據操作(DML 語句)是冪等的,但數據表操作(DDL 語句)命令無法保證,例如重復執行相同的 createIndex 命令。

Oplog 的查詢

Capped collection 內文檔是以插入順序排序的,沒有其他索引,但是 local.oplog.rs 是一個特殊的 capped collection,在 Wiredtiger 引擎的話,Oplog 的時間戳會作為一個特殊的元信息存儲,使得 Oplog 可以以 ts 字段排序,查詢 Oplog 時可以利用 ts 字段篩選。

一般來說 Secondary 同步需要經過 initial sync 和 incremental sync,initial sync 同步完成后,需拉取從同步時間點開始之后的 Oplog 進行持續重放。所以查詢 Oplog 的操作一般是:

db.oplog.rs.find({$gte:{'ts': Timestamp(1503110518, 1)}})

Secondary 需要不斷獲取 Primary 產生的 Oplog, 復制集會使用 tailable cursor 持續獲取 Oplog 數據,非常類似 Unix 系統的 tail -f。這會提高效率,因為一般的 cursor 使用完畢后就會關閉,而 tailable cursor 會保存上次的 id, 并持續獲取數據。

如果使用 pymongo 驅動器,則定位從某個時間點之后的 Oplog 可以這麼寫:

coll = db['local'].get_collection(
 'oplog.rs',
 codec_options=bson.codec_options.CodecOptions(document_class=bson.son.SON))

cursor = coll.find({'ts': {'$gte': start_optime}},
 cursor_type=pymongo.cursor.CursorType.TAILABLE,
 oplog_replay=True,
 no_cursor_timeout=True)

while True:
 try:
  oplog = cursor.next()
  process(oplog)
 except StopException:
  # 沒有更多的 Oplog 數據
  time.sleep(1)

cursor_type 使用 TAILABLE 或者 TAILABLE_AWAIT,使用后一種類型時,如果沒有更多的 Oplog 數據,則這次請求會阻塞等待有 Oplog 數據或者到達等待的時間超時返回。

設置 oplog_replay 標記可以表示此次請求的類型是保存 Oplog 的 capped collection, 提供 ts 篩選參數, 進行查詢優化。

獲取到 Oplog 之后,就可以做數據同步或者分發到感興趣的消費者作特殊分析,如 MongoShake 工具。

參考了文檔:

Replica Set Oplog: https://docs.mongodb.com/manual/core/replica-set-oplog/
MongoDB oplog 漫談: http://caosiyang.github.io/2016/12/24/mongodb-oplog/
MongoDB復制集原理: https://www.jb51.net/article/166148.htm

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 利用MongoDB中oplog機制實現準實時數據的操作監控
  • 關于單臺MongoDB實例開啟Oplog的過程詳解
  • mongodb中oplog介紹和格式詳析

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

巨人網絡通訊聲明:本文標題《Mongodb的oplog詳解》,本文關鍵詞  Mongodb,的,oplog,詳解,Mongodb,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mongodb的oplog詳解》相關的同類信息!
  • 本頁收集關于Mongodb的oplog詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲国产高清在线观看视频| 国产精品1区2区3区| 国产精品精品国产色婷婷| 亚洲午夜免费福利视频| 99久久婷婷国产| 国产精品国产三级国产普通话蜜臀| 蜜桃免费网站一区二区三区| 在线播放91灌醉迷j高跟美女| 亚洲人快播电影网| 色成年激情久久综合| 亚洲精品成人精品456| 91老师片黄在线观看| 亚洲手机成人高清视频| 一本色道亚洲精品aⅴ| 亚洲私人影院在线观看| 欧美日韩三级一区二区| 久久激情五月婷婷| 久久综合九色综合97婷婷| 精品午夜久久福利影院| 国产欧美精品在线观看| 99免费精品在线观看| 亚洲高清视频的网址| 欧美人狂配大交3d怪物一区| 日韩av中文在线观看| 欧美成人午夜电影| 国产精品一区二区男女羞羞无遮挡| 日本一区二区综合亚洲| 91麻豆精东视频| 亚洲一区精品在线| 精品国产一区二区精华| 粉嫩高潮美女一区二区三区| 亚洲人成在线播放网站岛国| 欧美理论片在线| 国产精品18久久久久久久久| 中文字幕一区免费在线观看| 精品视频色一区| 精品在线视频一区| 亚洲视频一区二区免费在线观看| 日韩一区二区视频| 成人性生交大片免费看中文网站| 国产精品私房写真福利视频| 色偷偷久久人人79超碰人人澡| 亚洲3atv精品一区二区三区| 久久精品一区八戒影视| 欧美日韩免费电影| 成人性生交大片免费| 日韩精品久久久久久| 国产片一区二区| 欧美一区二区免费视频| 大美女一区二区三区| 另类综合日韩欧美亚洲| 亚洲综合视频在线观看| 337p日本欧洲亚洲大胆精品| 色狠狠桃花综合| 成人一区二区三区| 国产乱子伦一区二区三区国色天香| 一区二区三区在线免费| 久久婷婷一区二区三区| 欧美精品久久99| 色丁香久综合在线久综合在线观看| 蜜桃av一区二区在线观看 | www.亚洲色图| 久久99精品国产91久久来源 | 精品国产一区二区在线观看| 在线亚洲+欧美+日本专区| 成人久久18免费网站麻豆 | 99精品国产一区二区三区不卡| 毛片av中文字幕一区二区| 亚洲综合色噜噜狠狠| 国产欧美视频一区二区| 日韩精品中文字幕一区二区三区 | 亚洲欧洲三级电影| 国产精品嫩草99a| 久久精品日产第一区二区三区高清版 | 专区另类欧美日韩| 亚洲婷婷在线视频| 国产精品狼人久久影院观看方式| 精品三级在线看| 日韩女优av电影在线观看| 欧美精品第一页| 欧美一区二区三区在线观看 | 久久这里只精品最新地址| 日韩欧美一二区| 欧美一区二区日韩| 337p粉嫩大胆色噜噜噜噜亚洲 | 色猫猫国产区一区二在线视频| 高清不卡一区二区在线| www.欧美.com| 99精品欧美一区二区蜜桃免费| 成人国产精品免费| 欧美在线观看一区| 欧美日韩国产高清一区| 精品久久国产字幕高潮| 欧美—级在线免费片| 中文字幕亚洲综合久久菠萝蜜| 综合亚洲深深色噜噜狠狠网站| 亚洲欧洲精品一区二区三区不卡| 亚洲嫩草精品久久| 另类欧美日韩国产在线| 99国产精品一区| 91麻豆精品国产自产在线| 国产精品入口麻豆原神| 午夜精品在线视频一区| 成人亚洲一区二区一| 欧美日韩一级二级三级| 亚洲精品一区二区三区精华液 | 亚洲成人1区2区| 国产成人综合网站| 91精品免费观看| 国产精品传媒在线| 国内不卡的二区三区中文字幕| 日本道色综合久久| 亚洲国产精品ⅴa在线观看| 香蕉久久夜色精品国产使用方法| 国产精品12区| 日韩精品一区二区在线观看| 亚洲国产wwwccc36天堂| 成人免费电影视频| 26uuu另类欧美| 蜜桃免费网站一区二区三区| 欧美日韩在线播放一区| 亚洲激情中文1区| 成人动漫一区二区| 日韩欧美激情在线| 亚洲综合免费观看高清在线观看| 国产伦精品一区二区三区视频青涩 | 国产午夜亚洲精品理论片色戒| 国产精品久久久久7777按摩| 精品黑人一区二区三区久久| 亚洲乱码国产乱码精品精98午夜| 韩国女主播成人在线| 国产成人午夜电影网| 久久精品一区八戒影视| 最新欧美精品一区二区三区| 成人激情开心网| 欧美日韩免费一区二区三区| 国产精品久久看| 视频一区中文字幕| 337p亚洲精品色噜噜噜| 久久网站热最新地址| 风流少妇一区二区| 色婷婷精品大在线视频| 欧美sm极限捆绑bd| 欧美性猛交xxxx黑人交| 国产三级三级三级精品8ⅰ区| 中文字幕在线视频一区| 欧美日韩在线播放| 成人精品视频网站| 精品视频一区三区九区| 午夜精彩视频在线观看不卡| 国产精品夜夜爽| 国产精品久久久久一区二区三区| 亚洲精品高清视频在线观看| 精品1区2区3区| 26uuu亚洲综合色欧美 | 久久99久久99| 久久久亚洲精品一区二区三区| 欧美无砖砖区免费| 久久99精品国产麻豆婷婷洗澡| 亚洲成av人影院在线观看网| 在线电影院国产精品| 欧美精品一区二区三区在线| 韩国精品主播一区二区在线观看| 亚洲一区二区在线视频| 欧美久久久影院| 亚洲精品高清在线| 日韩一区二区三区视频| 欧美欧美欧美欧美| 国产高清一区日本| 色综合天天综合给合国产| 五月婷婷久久丁香| 韩国女主播一区二区三区| 亚洲日本va午夜在线影院| 亚洲精品中文在线| 精品理论电影在线观看 | 极品美女销魂一区二区三区| 日本丶国产丶欧美色综合| 精品污污网站免费看| 夜夜嗨av一区二区三区网页| av电影一区二区| 亚洲人成精品久久久久久| 国产精品88888| 亚洲国产高清在线观看视频| 丰满亚洲少妇av| 奇米影视一区二区三区小说| 欧美综合一区二区| 成人一道本在线| 国产精品久久久久一区| 精品国产一区二区亚洲人成毛片| 日韩影院精彩在线| 亚洲欧美色综合| 青青草国产成人99久久| 国产精品超碰97尤物18| 久久综合九色综合欧美就去吻| 美国毛片一区二区| 亚洲国产综合91精品麻豆| 欧美午夜精品久久久久久孕妇| aaa欧美日韩| 亚洲3atv精品一区二区三区| 一区二区三区 在线观看视频|