• mongodb同步


    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 级别的操作:忽略;

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

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

  • 相关阅读:
    11. Container With Most Water
    9. Palindrome Number
    375. 猜数字大小 II leetcode java
    leetcode 72 编辑距离 JAVA
    73. 矩阵置零 leetcode JAVA
    快速排序 JAVA实现
    63. 不同路径 II leetcode JAVA
    重写(override)与重载(overload)
    62 不同路径 leetcode JAVA
    leetcode 56 合并区间 JAVA
  • 原文地址:https://www.cnblogs.com/mikeguan/p/7590365.html
Copyright © 2020-2023  润新知