设为首页 收藏本站
查看: 1577|回复: 0

[经验分享] MongoDB journaling 工作原理

[复制链接]

尚未签到

发表于 2018-10-27 09:32:57 | 显示全部楼层 |阅读模式
  journaling 是如何工作的?将MongoDB的数据文件,journal 文件表示如下:
DSC0000.jpg

  启动mongod,数据文件映射到共享视图 .
DSC0001.jpg

  这时候内存依然依靠文件做后盾: 内存中的变化,操作系统刷新到底层文件. 这是MongoDB在没有journaling时候的工作方式: 操作系统每60秒将内存中的变化刷新到文件.
  然而, 启用 journaling时,mongod 会再做一次映射, 映射到私有视图. 附带的, 启用journallingmongod使用的虚拟内存将会翻倍.
DSC0002.jpg

  注意到私有视图没有映射到数据文件, 所以操作系统不能将任何改变刷新到磁盘.
  现在写数据时,mongod写到私有视图.
DSC0003.jpg

  mongod然后将数据的变化写到 journal 文件,并加上文件变化的一些描述.私有视图刷新到journal的是100ms.默认情况下,journal刷新到磁盘的周期是每100ms.
DSC0004.jpg

  journal 将关于变化的描述追加到文件
DSC0005.jpg

  这时候, 写是安全的. 如果mongod崩溃,journal可以重放变化, 虽然还没有写到数据文件
  journal 将在共享视图上重放变化.
DSC0006.jpg

  然后,mongod将共享视图重新映射到私有视图. 这样防止私有视图太”脏”(有许多变化从共享视图刷新).
DSC0007.jpg

  最后, 与其它的相比,以很慢的速度, 共享视图将刷新到磁盘. 默认情况下,mongod 请求操作系统每60秒刷新一次.
DSC0008.jpg

  出自:
  http://www.ttlsa.com/mongodb/how-mongodbs-journaling-works/
  http://www.kchodorow.com/blog/2012/10/04/how-mongodbs-journaling-works/


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-626995-1-1.html 上篇帖子: Linux安装mongodb-iceworldvip 下篇帖子: 对比下HBase, Memcached, MongoDB, Redis和Solr
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表