BladePipe 1.7.0: Stronger alerts, Broader DB support, Faster KingbaseES scanning.
Skip to main content

MongoDB to StarRocks

BladePipe supports data replication from MongoDB to StarRocks. View supported migration, sync, verification, and connector capabilities.

Target DataSource:

Connection

Basic Functions

FunctionDescription
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.

Table Name Mapping

Support the mapping rules, namely, keeping the name the same as that in Source, converting the text to lowercase, converting the text to uppercase, truncating the name by "_digit" suffix.

Advanced Functions

FunctionDescription
Removal of Target Data before Full Data Migration

Remove the existing data in the Target before running the Full Data Migration, applicable for DataJobs reruning and scheduled Full Data migrations.

Recreating Target Table

Recreate target tables before running the Full Data Migration, applicable for DataJobs reruning and scheduled Full Data migrations.

Stream Load

Use Stream Load to write data to StarRocks BE. By default, batch write is adopted, with dynamic adjustment of data flush interval and batch size.

Handling of Zero Value for Time

Allow setting zero value for time to different data types to prevent errors when writing to the Target.

Custom Code

For more information, see Custom Code Processing, Debug Custom Code and Logging in Custom Code.

Adding Virtual Columns

Support adding custom virtual columns with fixed values, such as region, ID, etc.

Limits

LimitDescription
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.

Target Table Type

Only support Primary Key model.

Source Table Type

Migration and sync of tables without primary keys are not supported.

DDL Synchronization Errors
  • Continuous DDLs on the same table will cause errors (because asynchronous DDLs are executed on a target StarRocks instance).
  • Errors may occur when modifying field constraints or some types of DDL.
  • If DDL errors occur, you can change the target table schema and then skip the errors by setting DataJob parameters.
Incremental Data Write Conflict Resolution Rule

Using Stream Load method, the primary key is used for full row replacement.


Source

Prerequisites

PrerequisiteDescription
Permissions for Account

See Permissions Required for MongoDB.

Parameters

ParameterDescription
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.


Target

Prerequisites

PrerequisiteDescription
Permissions for Account

SELECT and DDL permissions (optional)

Port Preparation

Allow the migration and sync node (Worker) to connect to the StarRocks FE QueryPort and FE/BE HttpPort.

Parameters

ParameterDescription
host

MySQL port, corresponding to StarRocks FE QueryPort.

httpHost

Host for StarRocks stream load, corresponding to StarRocks FE/BE HttpPort.

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 StarRocks using stream load, 0 means no wait is needed.

soTimeoutSec

TCP socket timeout (so_timeout) during QueryPort operations.

httpSoTimeoutSec

TCP socket timeout (so_timeout) during HttpPort operations.

enableTimeZoneProcess

Enable time zone conversion for time fields.

timezone

Timezone in the Target, e.g., +08:00 Asia/Shanghai America/New_York.

maxInSizePerQuery

Maximum number of IN clause values per query during secondary verification. Queries exceeding this limit will be automatically split.

Tips: To modify the general parameters, see General Parameters and Functions.