
MONGODB 数据库在很多应用场景中都有需要进行数据同步的方案需求
1 多数据中心数据同步方案
2 数据灾备方案
3 多点数据写入与数据最终一致性方案
这些方案中不可或缺的就是mongoshake 组件,mongoshake是阿里云NOSQL团队TEAM 开发的一款针对与通用性服务平台的产品,通过对mongodb的oplog进行读取将源于目的的MOGNODB 数据库之间进行数据同步的方式。通过日志的抓取和重放的方式完成数据同步的任务,数据同步中通过通道来进行数据传输,其中包含了像rpc, file, tcp,以及直连等方式。通过选择不同的同步方式,可以对接不同的中间件,如kafka,通过发布和订阅的方式来进行数据的异步的灵活同步。

基于数据同步,源端可以是单体的MONGODB ,也可以是复制集合,也可以是分片集合,在使用集合的状态下,可以通过在从库中获取OPLOG的方式,降低与主库的FETCH操作带来的对主库的性能影响。
基于MONGOSHAKE, 主要提供了如下的几种特性
1 parallel replication 并行的复制,主要通过唯一索引的方式对 collections的数据进行并行复制,或者对database collection 进行并行。
2 支持断点续传的功能,主要是在进行数据的FETCH 的情况下会将数据同步的点写入到源数据库中,在源数据库中建

本文介绍了MongoShake作为一款由阿里云开发的数据同步工具,如何实现MongoDB数据库之间的高效数据同步。它支持多种同步模式,包括并行复制、断点续传、DDL操作同步等特性,并提供了一个具体的应用案例,展示如何在不同版本的MongoDB间进行数据迁移。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



