oplog是什么,有什么作用

news/2025/3/13 12:00:31/文章来源:https://www.cnblogs.com/chengxi23/p/18769643

MongoDB的oplog(操作日志)是用于实现副本集(Replica Set)数据同步的核心组件,其核心特性如下:


1. 定义与作用

  • 功能
    oplog记录所有对数据库的修改操作(如插入、更新、删除及系统命令),类似MySQL的binlog。
    • 仅记录实际修改数据的操作,若操作未修改数据(如查询或失败的写操作),则不会生成oplog条目。
  • 用途
    副本集的备节点(Secondary)通过读取主节点(Primary)的oplog并重放操作,实现数据同步。

2. 存储位置与结构

  • 存储位置
    oplog是local数据库中的一个固定大小集合(capped collection),默认名称为oplog.rs
  • 特性
    • 固定大小:达到配置上限后,旧日志会被新日志覆盖(MongoDB 4.0前严格限制,之后允许动态扩展)。
    • 每个副本集节点(包括隐藏节点)均维护自己的oplog。

3. 同步机制

  1. 主节点写入
    客户端写操作成功修改数据后,主节点将操作记录到本地oplog。
  2. 备节点拉取
    备节点持续从主节点或其他备节点的oplog中拉取新操作,并按顺序重放以保持数据一致。
  3. 幂等性保障
    oplog设计为幂等操作,多次重放同一操作不会导致数据不一致。

4. 关键特性

  • 异步复制
    备节点同步存在延迟,主节点写入与备节点重放之间存在时间差。
  • 滚动覆盖
    oplog按插入顺序存储,旧日志被覆盖后可能导致备节点无法追上主节点(需合理配置oplog大小)。

参考文献

  • 副本集Oplog - MongoDB手册v8.0
  • MongoDB Oplog深入理解-腾讯云开发者社区
  • MongoDB journal 与oplog,究竟谁先写入?
  • MongoDB oplog详解- Joans - 博客园
  • 副本集日志 - MongoDB中文手册

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/898097.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[I.2][个人作业 软件案例分析]

[I.2]个人作业 软件案例分析 我选择QQ音乐作为调研目标 第一部分 软件调研评测 软件使用的图片软件分析使用QQ音乐主要有三种方式,一种是已知目标音乐在搜索框中直接输入进行搜索,第二种是目标音乐在播放但是不知道名字,可以使用听歌识曲的功能,第三种是可以选择根据风格进…

浅谈右值引用 LeetCode题集-6 - Z 字形变换,窥探模板元编程的一角

合集 - 经验分享(56)1.记一次由于操作失误致使数据库瘫痪的故障分析与解决方案2023-09-082.网络之谜:记一次失败排查的故事2023-11-153.你是否想知道如何应对高并发?Go语言为你提供了答案!2023-12-294.2023年终总结:拉帮结伙,拼搏探索新机遇2023-12-305.谁说后端不能画出美…

库卡机器人维修KSS26045硬件错误

库卡机器人在使用过程中,可能会遇到常见的KSS26045硬件故障,这些机器人故障大致可以归结为以下几种类型:先是电源故障。一旦电源系统出现问题,库卡机器人可能会面临无法启动或无法维持正常运行的困境。为了诊断电源故障,可以利用万用表等专业工具来精确测量电源的输出电压…

mac 使用Homebrew安装ADB

Homebrew是Mac上的包管理器,可以方便地安装和管理各种开源软件。如果还没有安装Homebrew,需要先安装Homebrew 1、安装Homebrew 为了解决下载速度慢的问题,直接用清华大学镜像: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh…

自适应前照灯系统AFS

自适应前照灯系统是一种智能灯光调节系统。通过感知驾驶员操作、车辆行驶状态、路面变化以及天气环境等信息,AFS 自动控制前照灯实时进行上下、左右照明角度的调整,为驾驶员提供良好的道路照明效果。 自适应前照灯系统(Adaptive Front-lighting System,简称AFS)是一…

DeepSeek R1 + ollama + ragflow 使用 docker 部署(Windows)

DeepSeek-R1本地部署配置要求 Github地址:https://github.com/deepseek-ai/DeepSeek-R1?tab=readme-ov-file模型规模最低 GPU 显存推荐 GPU 型号纯 CPU 内存需求适用场景1.5B 4GB RTX 3050 8GB 个人学习7B、8B 16GB RTX 4090 32GB 小型项目14B 24GB A5000 x2 64GB 专业应用32…

豆包 | AI 助学行

博客中嵌入了当下最好用最火爆的国产人工智能:豆包,敬请使用。前情概要 当下,全球的人工智能发展很火很火,国内的人工智能也呈现井喷之势[几百家之多,智能水平层次不齐]。我也在思考如何将 AI 老师嵌入到我的数学博客里,帮助学生自主解决学习中的问题,最近接触到字节跳动…

ASE40N20-ASEMI工业控制专用ASE40N20

ASE40N20-ASEMI工业控制专用ASE40N20编辑:LL ASE40N20-ASEMI工业控制专用ASE40N20 型号:ASE40N20 品牌:ASEMI 封装:TO-263 最大漏源电流:40A 漏源击穿电压:200V 批号:最新 RDS(ON)Max:65mΩ 引脚数量:3 沟道类型:N沟道MOS管 封装尺寸:如图 特性:MOS管、N沟道MOS…

AXUI前端框架v3版本已经发布,底层完全改写,基于原生技术标准,想走得更远!

AXUI的v3版本已经发布!AXUI框架已经经历了第一代和第二代的迭代,充分认识到纯CSS和HTML的局限性,也意识到过多手动编写代码会影响用户体验。因此,AXUI的目标是:既满足原生前端的标准,又力求简洁易用。 AXUI的v3版本已经发布! AXUI框架已经经历了第一代和第二代的迭代,…

Nexpose 7.10.0 发布,新增功能概览

Nexpose 7.10.0 发布,新增功能概览Nexpose 7.10.0 for Linux & Windows - 漏洞扫描 Rapid7 on-prem Vulnerability Management, released Mar 12, 2025 请访问原文链接:https://sysin.org/blog/nexpose-7/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.orgNe…

Jmeter插件管理器Plugins Managerjmeter1

Jmeter插件管理器Plugins Managerjmeter1.4打开报错解决办法 Jmeter插件管理器Plugins Manager下载插件打开报错解决办法 目录 [Jmeter插件管理器Plugins Manager下载插件打开报错解决办法](https://blog.csdn.net/u012106306/article/details/109067686#Jmeter插件管理器Plug…

仓库物料编码太乱?一文教你用WMS系统做好物料编码!

在仓库管理中,物料编码是一件看似简单,实则影响深远的事。编码乱,仓库乱;编码清晰,仓库高效! 很多企业的仓库管理都面临这些问题:同样的物料多个编码,库存数据对不上,仓库找货像大海捞针。 编码规则混乱,采购、仓库、生产、财务对不上账,沟通全靠吼。 人工录入出错,…