关于Mongodb RC的思考
2024-09-28 06:19:14
Mongodb Oplog 和 Journal log 的关系与执行顺序
就关系来说,op log实际上与数据是一致的概念。
但在有 RC的时候,执行顺序
w j 的设置
如果不设置 j ,则默认是100ms刷盘。
单机
如果宕机,最大丢失100ms的数据
RC
其实没多大关系,只要op log 写成功即可
设置w 的个数, 按照NRW原则,如果出现数据丢失的情况应该是喝水塞牙缝的概率,应该是 主宕机概率*从1宕机概率*...*从w(n)宕机概率
但在这里会有一个问题,场景是
主宕机,未设置 j
如果 op log 已同步,则该数据有效
如果 op log 未同步,数据无效
实际上和 j 无关, j 有用的地方在于 主重启后的数据恢复,所以可以将主的 j 设为 false ,让它自动刷盘,但将从的 j 设为 true ,可增加一些单点写的效率
当仍会有数据不一致的情况,在主宕机期间,从升级为新主,并增加一些数据,如果旧主重启,旧主发现自己有些数据是未同步的,则会回滚该数据。
并将回滚的数据保存至 dbpath/rollback下(好像是这个目录)
其实相对于 mysql 的主从,我们应该是不知道有多少数据不同步,处理的情况相对要简单一些
最新文章
- zepto.js使用前注意
- Java实现点击一个Jlabel增加一个Jlabel的小功能
- 修改Apache的最大连接数
- linux crontab命令参数及用法详解--linux自动化定时任务cron
- 爬虫技术 -- 进阶学习(八)模拟简单浏览器(附c#代码)
- Spark之导出PMML文件(Python)
- PE文件简介
- Win10下, TortoiseGit安装及配合Gitee使用完整版
- linux中exec和xargs命令的区别和优劣分析
- 初探Java设计模式3:行为型模式(策略,观察者等)
- Web Storage和cookie
- 第三十四篇-Palette(调色板)的使用
- Got error 28 from storage engine 解决方法
- update条件判断更新
- shell 变量的数值计算实践 expr
- c#winform,知道图像路径,怎么在程序运行时往image里面添加图片
- Node简单的控制台读取和文件操作
- Swift语言精要 - Dictionary(字典)
- 更换 nodejs npm 镜像为 淘宝 镜像
- 获取和设置消息队列的属性msgctl,删除消息队列
热门文章
- 洛谷 P1551 亲戚(并查集模板)
- HTTP的学习记录(二)头部
- windows中以管理员身份运行cmd
- Hadoop实战:reduce端实现Join
- ssh无需密码登录linux服务器
- 服务器部署nginx报错 nginx: [warn] conflicting server name ";localhost"; on xxx.xxx.xxx.xxx:80, ignored
- (转)JSP HTML JAVASCRIPT 中文乱码 解决方案 大全
- GridView相同内容合并单元格
- The eighth day
- 如何避开JavaScript浮点数计算精度问题(如0.1+0.2!==0.3)