Cross-Cloud Database Migration | NineData
Cross-cloud migration is more than moving data from one environment to another. Teams need private connectivity, full migration, incremental synchronization, validation, monitoring, and a controlled cutover plan while the source database continues to serve applications.
NineData Data Replication helps teams migrate databases between cloud providers and self-managed environments by combining full migration, incremental synchronization, data comparison, and task alerts.
When to use this workflow
Use this workflow to:
- Move a self-managed database to a cloud database.
- Migrate between cloud providers.
- Keep the source database online during migration.
- Validate target data before switching traffic.
- Keep a replication link running during the cutover and verification window.
What to plan before migration
Cross-cloud projects usually need decisions in the following areas:
- Connectivity: Decide whether to use private network connectivity, a gateway, or another approved network path.
- Replication scope: Decide which databases, schemas, and tables are included.
- Schema changes: Plan how source-side DDL changes are handled during migration.
- Consistency validation: Decide when to run data comparison and how to handle discrepancies.
- Cutover and rollback: Define the traffic switch window, rollback criteria, and the owner for each step.
- Monitoring: Configure alerts for task failure and replication delay.
How NineData helps
NineData provides a guided migration workflow:
- Private connectivity: Connect to supported cloud and self-managed databases without unnecessarily exposing database endpoints to the public internet.
- Full and incremental migration: Move existing data first, then keep synchronizing new source-side changes.
- Task visibility: Monitor full migration progress, incremental delay, task logs, and task details.
- Data comparison: Compare source and target data before cutover.
- Alerts: Notify operators when the task fails or delay exceeds the configured threshold.
Before you begin
Prepare the following items:
- Access to the NineData console.
- Connection information and accounts for the source and target databases.
- Required database permissions on both sides.
- Network connectivity from NineData to both databases.
- A migration plan that defines validation, cutover, and rollback steps.
Step 1: Add source and target data sources
In the NineData console, click Data Source Management > Data Sources, and then click Create Data Source.

Follow the page prompts to add the source data source through the connectivity method that matches your environment.

Repeat the process for the target data source.
Step 2: Create the migration task
In the NineData console, click Data Replication > Data Replication, and then click Create Replication.

Configure the source and target data sources.
Select the replication types required for migration. For a low-downtime cutover, use structure replication where applicable, full replication, and incremental replication.

Select source objects, configure mapping if needed, and run the precheck.
After the precheck passes, start the task and monitor progress until full migration completes and incremental delay reaches your cutover threshold.

Step 3: Validate target data
Use data comparison to validate the target before cutover.
Open the replication task created in Step 2.

Click the Data Comparison tab. If comparison was not enabled during task creation, click Enable Data Comparison.

Click Re-compare to validate the latest synchronized data.

Step 4: Configure alerts
Configure alerts so operators are notified when the task fails or replication delay exceeds your threshold.
Open the replication task details page.

Click Configure Alerts.

Enter a Policy Name, review the alert rules, and click Save Configuration.

Result
After full migration completes, incremental synchronization keeps the target updated with new source-side changes. When validation passes and the delay is within your cutover threshold, switch traffic based on your migration plan.
Keep monitoring the task after cutover until application owners confirm that the target environment is stable.
Related solutions
- Oracle to PostgreSQL migration
- MySQL to TiDB migration
- MySQL to Doris synchronization
- MySQL to StarRocks synchronization
- Lightweight ETL synchronization