日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

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

軟件下載吧

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

Mongodb的oplog詳解

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

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,詳解

相關下載

查看所有評論+

網友評論

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

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 欧美一区二区亚洲 | 国产高清一级视频在线观看 | 亚洲精品毛片久久久久久久 | 日韩亚洲国产综合久久久 | 亚洲一级高清在线中文字幕 | 国产精品专区第二 | 特级毛片 | 久久久久久国产精品视频 | 69性欧美高清影院 | 久久九| 高清在线一区二区三区亚洲综合 | 舔操 | 日韩精品一区二区三区不卡 | 国产在线欧美日韩一区二区 | 看色网站| 成人久久免费视频 | 亚洲精品一二三 | 日韩一级免费毛片 | 久色tv| 91探花福利精品国产自产在线 | 成人毛片1024你懂的 | 日本成人不卡视频 | 久久免费公开视频 | 99久久免费精品国产免费高清 | 草视频在线观看 | 国产免费一级高清淫曰本片 | 亚洲线精品久久一区二区三区 | 高清在线精品一区二区 | 国产偷国产偷亚洲高清在线 | 欧美成人精品福利在线视频 | 亚洲自偷自偷图片在线高清 | 国产精品毛片 | 亚洲美女视频网址 | 欧美在线一级视频 | 亚洲一区欧洲一区 | 亚洲三及片 | 欧美国产大片 | 欧美一级在线视频 | 特黄毛片 | 亚洲精品二区中文字幕 | 在线视频99 |