BladePipe 1.9.0: New data pipelines, faster Oracle writes, and improved stability.
跳到主要内容

MongoDB 到 MariaDB

选择对端数据库:

数据链路

基本功能

功能说明
Full Data Migration

Migrate data by sequentially scanning data in tables and writing it in batches to the target database. Supported _id types: ObjectId, Long, Integer.

Incremental Data Sync

Sync of INSERT, UPDATE, DELETE is supported.

Data Verification and Correction

Verify all existing data. Optionally, you can correct the inconsistent data based on verification results. Scheduled DataTasks are supported.
For more information, see Create Verification and Correction DataJob.

Subscription Modification

Add, delete, or modify the subscribed tables with support for historical data migration. For more information, see Modify Subscription.

Position Resetting

Reset positions by timestamp to consume the oplog in a past period again.

Supported Deployment

Support master-slave, replica set, sharded cluster.

高级功能

功能说明
全量前清空目标数据

运行全量任务前清除老数据,包括重跑任务、定时全量迁移都会触发此能力

重建目标表

运行全量任务前重建目标表,包括重跑任务、定时全量迁移都会触发此能力

增量写入冲突策略

IGNORE: 主键冲突则忽略(不做写入),REPLACE: 主键冲突则整行替换

0 值时间处理

支持将 0 值时间设置成不同类型的值,防止写入对端报错

限制和注意点

限制项说明
oplog 大小和保留时间设置

MongoDB 默认配置 replication.oplogSizeMB 过小 或 storage.oplogMinRetentionHours 过小,如数据同步延迟过大,可能导致未消费的 oplog 被清除,需调大此参数

MongoDB 主备架构的任务设置

源端 MongoDB 主备架构模式,需要将源端任务参数 oplogCollection 设置为 oplog.$main

changeStream 模式

MongoDB 3.6 以上支持 changeStream 获取增量变更,同步任务可以设置源端参数 captureModeCHANGE_STREAM,MongoDB 分片集群可以填写 Mongos 连接串进行同步

oplog 模式

当使用 oplog 模式进行 MongoDB 源端同步时,需要确保该能够访问到 local


源端数据源

前置条件

条件说明
账号权限

文档:MongoDB 需要的权限

任务参数

参数名称说明
captureMode

配置 MongoDB 增量源端模式,支持 OP_LOG 和 CHANGE_STREAM 模式

changeStreamBatchSize

配置 MongoDB Change Stream 每一批拉取变更事件的最大条数

oplogCollection

配置 MongoDB oplog 的集合名,默认是 oplog.rs

timezone

需要转换的源端时区(默认 UTC)

Tips: 通用参数配置请参考 通用参数及功能


目标端数据源

前置条件

条件说明
账号权限

文档:MySQL / MariaDB 需要的权限

网络准备

迁移同步节点(sidecar)可连接 MySQL / MariaDB 标准交互接口(如 3306)

任务参数

参数名称说明
keyConflictStrategy

增量写入遇到主键冲突策略:

  • IGNORE 冲突忽略(默认)
  • REPLACE 冲突替换(可选)

dstWholeReplace

将 INSERT 和 UPDATE 操作变成对端整行覆盖

deCycle

双向同步过滤开关,过滤特定标记的 DML/DDL

specialSqlMode

初始化数据库连接时,可以设置特定的 SQL Mode

defaultGisSRID

设置 GIS 数据类型的 SRID

dstTimeZone

目标端时区,例如 +08:00, Asia/Shanghai, America/New_York等

increParallelApplyStrategy

关系型数据库对端写入数据并行策略:

  • KEY: 以主键进行分区并行写入
  • TABLE: 以表进行分区并行写入
  • KEY_UPGRADE_TABLE: 以主键进行分区并行写入,若有更新唯一键的操作升级为表进行分区写入

Tips: 通用参数配置请参考 通用参数及功能