mongodb同步

py-mongo-sync

MongodbSync

mongodb 的一个同步工具,具备将一个数据源上的数据,同步到其它 mongodb 上,支持:

mongos -> (mongos, mongod)

mongod -> (mongos, mongod)

如果源是 mongos,情况比较复杂,需要从 mongos 里将副本信息全部取出来,同步到 mongod 中; 需要注意的是,源和目的 mongo,都需要使用 admin 账号,以取得所有权限; 支持 oplog 格式为:"ts" : Timestamp(1372320938000, 1) 目前的 2.6.4 版本是这种格式;

sync-info
mode: 取值为 incr 表示增量同步;all 表示全量同步,会将源数据拷贝到目标库;smart 表示智能同步,会先全量拷贝,再进行增量;
record_interval: 读取了一定量数据,会对 optime 进行更新;
record_time_interval: 读取了一定的时间,会对 optime 进行更新;
opt_file: optime 记录在 该文件中,all 模式在拷贝完更新它,incr, smart 模式不定期更新它,如果文件不存在则默认从 1 小时前同步;
all_dbs: 为 true 表示同步全部的数据库, 不包括 admin,config,local, 否则同步 dbs;
dbs: 需要同步的数据库集合,不包括 admin,config,local,如果要同步某个db下的collection,使用 db.collection 形式;
queue_num: 队列最大数目,暂无使用该参数,代码里固定了是 20000;
threads: 线程数,由于源和目的 的网络状况可能不一样,可以有多个连接去写目的地址; mongo-src
addr: 源地址,可以是一个副本集,也可以是 mongos,如果是 mongos,系统会自动连接到相应的副本集;
user: 管理员账号
pwd: 管理员密码 mongo-dest
addr: 目的地址,可以是一个副本集,也可以是 mongos;
user: 管理员账号
pwd: 管理员密码

当目的没有数据库时和集合时:会自动创建,包括索引

当源为 mongos 时:所有副本集的内容会同步过去;

当源为 副本集 时:所有副本集的内容会同步过去;

增加、删除、修改 数据命令:OK;

增加、删除 collection 时:OK;

db 级别的操作:忽略;

同步性能:取决于网络带宽;

容错能力:能处理源和目的的网络异常,系统有容错处理能力;

mongodb同步的更多相关文章

  1. Mongodb同步数据到hive(二)

    Mongodb同步数据到hive(二) 1.            概述 上一篇文章主要介绍了mongodb-based,通过直连mongodb的方式进行数据映射来进行数据查询,但是那种方式会对线上的 ...

  2. MongoDB同步机制

    复制 在此页 冗余和数据可用性 在MongoDB中复制 异步复制 自动故障转移 读取操作 交易次数 更改流 附加的功能 甲副本集 MongoDB中是一组mongod其保持相同的数据集的过程.副本集提供 ...

  3. logstash-out-mongodb实现elasticsearch到Mongodb的数据同步

    本文主要实现将Elasticsearch中的索引数据Index同步到Mongodb中的集合collection中. 0.前提 1)已经安装好源数据库:elasticsearch V2.X; 2)已经安 ...

  4. [原]分享一下我和MongoDB与Redis那些事

    缘起:来自于我在近期一个项目上遇到的问题,在Segmentfault上发表了提问 知识背景: 对不是很熟悉MongoDB和Redis的同学做一下介绍. 1.MongoDB数组查询:MongoDB自带L ...

  5. [译] MongoDB Java异步驱动快速指南

    导读 mongodb-java-driver是mongodb的Java驱动项目. 本文是对MongoDB-java-driver官方文档 MongoDB Async Driver Quick Tour ...

  6. MongoDB数据模型(二)

    原文地址 接上一篇 四.模型树结构 父引用的模型树结构 这个数据模型描述了一个树形结构,在子节点中存储父节点的引用. 模式 父引用模式存储每个树节点到文档中,除了树节点外,文档还存储了父节点的id. ...

  7. MySQL到MongoDB的数据同步方法!

    许多公司随着业务发展,单数据库实例已经不能满足业务需要,需要定期进行数据交换,同步到MongoDB, 或其他位置的MySQL,以分散数据库的并发压力. 目前大部分都采用自行开发的方式处理,存在开发成本 ...

  8. MongoDB集群运维笔记

    前面的文章介绍了MongoDB副本集和分片集群的做法,下面对MongoDB集群的日常维护操作进行小总结: MongDB副本集故障转移功能得益于它的选举机制.选举机制采用了Bully算法,可以很方便从分 ...

  9. Mongodb主从复制/ 副本集/分片集群介绍

    前面的文章介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 Master-Slave 模式(主从复制),一种是 Replica Sets 模式(副本集). Mong ...

随机推荐

  1. angularjs中的路由介绍详解 ui-route

    这篇文章主要介绍了Angularjs中UI Router全攻略,涉及到angularjs ui router的基本用法,需要的朋友参考下吧   首先给大家介绍angular-ui-router的基本用 ...

  2. 成长这事儿,不可不说-------Day36

    事实上我一直都有一个观点,从我当年刚学抛物线那会就有:人生事实上就是一条轨迹,无非是一些点的集合.只是有些在低谷,有些在高峰,放形象了看,有些熠熠生辉,有些暗淡的几若消逝,有些人总喜欢回头数着过往的痕 ...

  3. __must_check必须处理函数返回值

    include/linux/compiler-gcc4.h  #define __must_check            __attribute__((warn_unused_result)) _ ...

  4. Visual Studio的 Apache Cordova 插件CTP3.0发布!

    北京时间12号晚23点开始的Connect()活动上,微软发布了一系列激动人心的消息! .NET开源了!以后.NET将可在Linux和Mac OS平台上运行! VS免费了!!如果你是学生,个人开发者, ...

  5. ios __block typeof 编译错误解决

    type specifier missing a parameter list without types is only allowed in a function definition 解决: 工 ...

  6. 在Linux先显示文件

    cat:从第一行开始显示文件内容. tac:从最后一行开始显示内容. nl:显示的时候带行号. more:一页一页显示. less:同more,可以向上翻页. head:显示文件前几行. head - ...

  7. 浅谈<持续集成、持续交付、持续部署>(二)

    集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题:部署是代码尽快向可运行的开发/测试节交付,以便尽早测试:交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题.如果 ...

  8. 【BZOJ5037】[Jsoi2014]电信网络 最大权闭合图

    [BZOJ5037][Jsoi2014]电信网络 Description JYY创建的电信公司,垄断着整个JSOI王国的电信网络.JYY在JSOI王国里建造了很多的通信基站.目前所有的基站都是使用2G ...

  9. 【bzoj2226】[Spoj 5971] LCMSum 欧拉函数

    题目描述 Given n, calculate the sum LCM(1,n) + LCM(2,n) + .. + LCM(n,n), where LCM(i,n) denotes the Leas ...

  10. LLVM编译器

    LLVM 1. 说说 LLVM(Low Level Virtual Machine)到底是什么吧 先说编译器:编译器是把程序员的代码翻译成机器可以理解的语言的工具: 再谈 LLVM:一个模块化和可重用 ...