MongoDB
Function | Description |
---|---|
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. |
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. |
Limits
Limit | Description |
---|---|
Oplog Size and Retention Settings | By default, the value of replication.oplogSizeMB or storage.oplogMinRetentionHours in MongoDB is too small. If data synchronization latency is significant, unconsumed oplogs may be removed. In this case, it is necessary to increase these parameters. |
Parameter Configuration for MongoDB Master-Slave Architecture | For MongoDB master-slave architecture, set the Source parameter oplogCollection to oplog.$main. |
ChangeStream Mode | MongoDB 3.6 and above support changeStream for capturing incremental data changes. Set the Source parameter captureMode to CHANGE_STREAM. For sharded clusters, use the MongoDB connection string for synchronization. |
Oplog Mode | When using oplog mode for data synchronization from a MongoDB instance, ensure the access to the local database. |
Parameters
Parameter | Description |
---|---|
captureMode | Configure the MongoDB incremental data sync mode, supporting OP_LOG and CHANGE_STREAM modes. |
changeStreamBatchSize | Set the maximum number of change events per batch for MongoDB Change Stream. |
oplogCollection | Specify the collection name for MongoDB oplog. The default name is oplog.rs. |
timezone | Source time zone (the default time zone is UTC). |
Tips: To modify the general parameters, see General Parameters and Functions.
Prerequisites
Prerequisite | Description |
---|---|
Permissions for Account | |
Port Preparation | Allow the migration and sync node (Worker) to connect to the MongoDB ports. |
Parameters
Parameter | Description |
---|---|
totalDataInMemMb | Maximum data size allowed in memory when writing in batches; If the data size exceeds the memory limit, or the wait time exceeds asyncFlushIntervalSec, then data is flushed to the write queue. |
asyncFlushIntervalSec | Interval to wait for flushing when writing in batches; If the wait time exceeds asyncFlushIntervalSec, or the data size exceeds totalDataInMemMb, then data is flushed to the write queue. |
flushBatchMb | Maximum batch size per table; If the batch size exceeds this limit, then data is flushed to the write queue. |
realFlushPauseSec | Wait time to flush data to MongoDB. 0 means no wait is needed. |
enableTimeZoneProcess | Enable time zone conversion for time fields. |
timezone | Timezone in the Target (by default, UTC). |
enableBatchApply | Enable batch write mode (it is disabled by default). |
Tips: To modify the general parameters, see General Parameters and Functions.