mongo的持久化之Journaling
参考文章:
http://database.51cto.com/art/201110/295772.htm
http://blog.chinaunix.net/uid-15795819-id-3381684.html
http://blog.chinaunix.net/uid-15795819-id-3419051.html
http://docs.mongodb.org/manual/core/journaling/
http://www.cnblogs.com/guoyuanwei/p/3308199.html
简要介绍:
开启Journaling选项相当于启用redo-log,当系统宕机后可以通过redo-log来实现恢复丢失数据的目的。若没有开启Jounaling(使用--nojournal启动的mongod)那么数据会每60秒执行一个fsync提交到磁盘,而开启之后Jounaling的数据默认每100ms(可通过--journalCommitInterval arg修改)提交到磁盘,也就是如果宕机最多丢失100ms的数据。
关于原理:开启Journal后会有两个内存映射,分别为shard view, private view,这是所有的读写操作都会到private view中。写操作过程,现将数据写入到private view,将操作写入到Journal日志文件,然后从Journal日志中将操作应用到shard view,最后再将shard view的内容映射到private view之中,实现两个视图一致。
下面内容转载自(写的很好,非常感谢):http://f.dataguru.cn/thread-139560-1-1.html
|
|
mongo的持久化之Journaling的更多相关文章
- Web集群缓存一致性的思考
共享cache+数据库实现缓存一致性: 1.1 memcache + mongo+定时器 1.1.1 memcache 优点:web集群共享数据 缺点:数据生命周期的不可预估性 1.1.2 mongo ...
- MongoDB(3)--Java 操作 MongoDB 的 API
引入mongoDb 依赖 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-j ...
- mongodb的docker化安装
查询mongo镜像 docker search mongo 拉取镜像(拉取STARS最多的那个就可以了) docker pull mongo tips:如果拉取不成功,多pull几次就可以了. 使用自 ...
- mongodb aggregate 聚合 操作(扁平化flatten)
mongodb自带的函数非常多,最近用mongo做持久化数据库,遇到一个需求:子文档是个数组,把数组里的各个字段扁平化合到根文档中,查过资料后(主要是mongodb的文档和stackoverflow) ...
- mongo 是什么
一.概述1.MongoDB是什么?用一句话总结MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统.没错MongoDB就是数据库,是NoSQL类型的数据库 2.为什么要使用Mong ...
- express-17 持久化
简介 所有网站和Web应用程序(除了最简单的)都需要某种持久化方式,即某种比易失性内存更持久的数据存储方式,这样当遇到服务器宕机.断电.升级和迁移等情况时数据才能保存下来. 文件系统持久化 实现持久化 ...
- mongoDB研究笔记:journaling保证意外故障下的数据完整性
mongoDB的Journaling日志功能与常见的log日志是不一样的,mongoDB也有log日志,它只是简单记录了数据库在服务器上的启动信息.慢查询记录.数据库异常信息.客户端与数据库服务器连接 ...
- mongo(五)副本集
mongo(五)副本集 配置文件 1-3为三个存储节点,其实一个为Primary,两个secondary作为备份,4为仲裁节点 # mongod.conf #where to log logpath= ...
- mongo数据库的导入导出
http://www.iwangzheng.com/ [root@a02]$show dbs; changhong_tv_cms 0.078GB [root@a02]$ mongodump -d ch ...
随机推荐
- Ubuntu Phone开箱上手
在昨晚举行的发布会上Canonical和硬件厂商BQ进行合作,推出了首款面向消费市场的Ubuntu手机--Aquaris E4.5,带来了与常见的iPhone和Android机完全不同的操作体验,设备 ...
- 1、SSH框架整合
1.建立项目 2.导入SSHjar包 http://pan.baidu.com/s/1hsELr04 3.引入web.xml文件 <?xml version="1.0" en ...
- Linux网络配置之虚拟网卡的配置(Red Hat 6.5)
怎么查看当前的网络状态,这里就不着重描述,用ifconfig命令就可以.我们直接进入主题. red hat系统中的网卡配置在这个目录中:/etc/sysconfig/network-scripts 1 ...
- 【#】Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释 博客分类: spring MVCSpringWebXMLBean 一:配置 ...
- 02 Transcribing DNA into RNA
Problem An RNA string is a string formed from the alphabet containing 'A', 'C', 'G', and 'U'. Given ...
- 微信第三方登录测试时报Scope参数错误或没有Scope权限解决方法
一 报错信息: 二 出现原因分析: 出现这种错误网上查出现有的原因是: 1. 订阅号没有相关的权限 2. 账号没有认证,没有相关的权限 那么这里遇到问题两种都不是.开发账号是 服务号,而且也是认证号. ...
- PropertiesConfiguration 修改配置文件的信息,不打乱顺序
需引入jar包 <!-- https://mvnrepository.com/artifact/commons-configuration/commons-configuration --> ...
- Generated by NetworkManager、ubuntu DNS设置丢失(network-manager造成的情况)
方法一:去掉重启 方法二:卸载network-manager 实测网络不稳,经常掉线(kalinux2.0环境)
- delphi数组之菜鸟篇
数组是可以通过索引来引用的同类型数据的列表.按照存储空间的获取方式,Delphi支持的数组类型有两种,即静态数组和动态数组.所谓静态数组就是在声明时就已经确定大小的数组类型,而动态数组是指其大小在声明 ...
- VirtualBox 安装Centos7 无法上网 ping不同的解决方法
进入目录: cd /etc/sysconfig/network-scripts/ 用ls命令查看网卡配置文件名(在CENTOS7中网卡名貌似变成了随机数字,所以每台机器的网卡名并不相同) 编辑网卡配置 ...