下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 數據庫 > DB2 > Mongodb的oplog詳解

Mongodb的oplog詳解

時間:2024-03-04 00:33作者:下載吧人氣:15

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}})

標簽Mongodb,oplog,詳解

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 国产高清在线精品二区| Channel| 中国午夜性春猛交xxxx| 久久99精品久久久久麻豆| 久久99热国产这有精品| 久久国产色AV免费观看| 久久午夜夜伦鲁鲁片免费无码影视 | 国产极品美女到高潮| 国产福利一区二区三区在线视频 | 国产黄色大片网站| 国产超碰人人模人人爽人人喊| 国产麻豆剧传媒精品国产AV| 国产精品无码午夜福利| 国产精品久久国产三级国不卡顿| 国产男女性潮高清免费网站| 国产人妖乱国产精品人妖| 国产中文字幕免费| 免费日本黄色片| 亚洲精品第一国产综合野| 亚洲妓女综合网99| 久久精品午夜福利| 中文字幕亚洲不卡在线亚瑟| www.尤物视频| 女人18毛片水真多国产| 黑人xxxx日本| 美美女高清毛片视频黄的一免费| 激情婷婷成人亚洲综合| 精品久久久久久久99热| 青青免费在线视频| 精品三级66在线播放| 欧美40老熟妇| 婷婷开心深爱五月天播播| 国产精品亚洲一区二区无码| 啊灬啊灬别停啊灬用力啊在线观看| 亚洲欧美成人一区二区在线电影| 久久久久99精品成人片欧美| 97se色综合一区二区二区| 色多多www视频在线观看免费| 欧美理论电影在线| 怡红院av一区二区三区| 国产成人精品无码一区二区|