mongodb持久化原理

转载 2018年04月17日 18:17:45

mongodb与mysql不同,mysql的每一次更新操作都会直接写入硬盘,但是mongo不会,做为内存型数据库,数据操作会先写入内存,然后再会持久化到硬盘中去,那么mongo是如何持久化的呢

mongodb在启动时,专门初始化一个线程不断循环(除非应用crash掉),用于在一定时间周期内来从defer队列中获取要持久化的数据并写入到磁盘的journal(日志)和mongofile(数据)处,当然因为它不是在用户添加记录时就写到磁盘上,所以按mongodb开发者说,它不会造成性能上的损耗,因为看过代码发现,当进行CUD操作时,记录(Record类型)都被放入到defer队列中以供延时批量(groupcommit)提交写入,但相信其中时间周期参数是个要认真考量的参数,系统为90毫秒,如果该值更低的话,可能会造成频繁磁盘操作,过高又会造成系统宕机时数据丢失过。


ActiveMQ之消息持久化方式

默认的情况下,ActiveMQ的消息持久化是基于文件系统的KahaDB,当然也可以使用mysql、oracle为消息提供储存。...
  • tianwei7518
  • tianwei7518
  • 2015-06-01 11:40:41
  • 993

mongodb持久化(不错)

先上一张图(根据此处重画),看完下面的内容应该可以理解。 mongodb使用内存映射的方式来访问和修改数据库文件,内存由操作系统来管理。开启journal的情况,数据文件映射到内存2个view:...
  • joeyon
  • joeyon
  • 2015-07-30 17:53:09
  • 2254

Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(一)Quartz组件

一、Quartz概述 Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制。Quartz允许开发人员根据一定的时间间隔来调度作业。我学一样东...
  • zhangliangzi
  • zhangliangzi
  • 2016-08-12 23:17:36
  • 1942

mongodb入门之mongodb持久化

任何数据库要商用成功,都要考虑数据的持久化和备份等
  • haishuitian1
  • haishuitian1
  • 2015-01-11 22:30:47
  • 342

MongoDB整合Spring持久化

MongoDB默认是没有用户名和密码的,要使用用户名密码,就得为数据库添加用户名db.createUser( { user: "root", pwd: "root", ...
  • u013725455
  • u013725455
  • 2016-07-28 12:01:36
  • 802

使用Docker构建的MongoDB

转载过程中,图片丢失,代码显示错乱。为了更好的学习内容,请访问原创版本:https://www.missshi.cn/api/view/blog/5a86a5f2c55cb01126000002Ps:...
  • laodengbaiwe0838
  • laodengbaiwe0838
  • 2018-02-20 20:27:59
  • 100

Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(二)Quartz配置文件

Quartz核心配置文件quartz.properties常见配置详解(配置在classpath中或在web.xml中指定,示例附在最后) 一、调度器属性配置 1、instanceName属性,调度器...
  • zhangliangzi
  • zhangliangzi
  • 2016-08-12 23:18:03
  • 1327

Hazelcast与MongoDB集成

Hazelcast与MongoDB集成作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs一、Hazelcast与MongoD...
  • chszs
  • chszs
  • 2015-12-11 14:15:21
  • 2427

Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(三)Quartz持久化

就像我在上一篇中说的,把调度器信息存储在内存中非常的快也易于配置。但当调度器进程一旦被终止,所有的 Job 和 Trigger 的状态就丢失了。所以我们就需要把调度器信息持久化到数据库,在服务器重启时...
  • zhangliangzi
  • zhangliangzi
  • 2016-08-12 23:18:29
  • 1905

Mongodb持久化--journal探究

Mongodb在1.8版本之后开始支持journal,就是我们常说的redo log,用于故障恢复和持久化。  一、启动       启动journal功能使用mongod --journ...
  • xtjsxtj
  • xtjsxtj
  • 2013-12-06 10:16:00
  • 2616
收藏助手
不良信息举报
您举报文章:mongodb持久化原理
举报原因:
原因补充:

(最多只允许输入30个字)