Skip to main content

How to Achieve Non-Disruptive Database Migration Across Cloud Providers

Many enterprises face the challenge of how to migrate data from their current cloud platform to another without affecting their online business, achieving seamless business migration.

In fact, this is a relatively common demand. In the market environment with numerous cloud providers, there are significant differences in pricing, performance, functionality, and after-sales service among various clouds. It is difficult to find a cloud that is optimal in all aspects. Therefore, for the following reasons, cross-cloud migration has become a choice for many enterprises:

  • Cost Optimization: The pricing strategies and service content vary among cloud providers. By migrating from the current cloud to another, enterprises can obtain more competitive pricing or better services, achieving cost optimization.

  • Avoiding Vendor Lock-in: Over-reliance on a single cloud provider, such as hosting all enterprise data sources on the same cloud, can lead to long-term deep lock-in, making it difficult to break free. Distributing different business data across cloud providers can reduce this risk, allowing organizations to more flexibly choose the right cloud service providers.

  • Cross-Region Disaster Recovery: Distributing multi-active nodes of databases in different regions across different cloud providers can provide additional protection for important data.

What are the issues with cross-cloud migration?

Although cross-cloud migration is a common demand, it is not so simple to implement. Most cloud providers offer migration products that only allow migration into their cloud, not out of it. This means they provide good support for migrating from self-built databases to their own cloud, but often fail to meet the needs of migrating out of their cloud.

For security reasons, cloud databases are usually closed intranet environments. Without the support of migration products that allow data to be migrated out, it is necessary to enable public network access addresses to migrate data. This move undoubtedly provides criminals with an excellent opportunity to attack the database. Enterprises may face database breaches, data leaks, or even data being wiped out, destroying years of business achievements.

In addition, there are a series of issues that enterprises have to consider:

  • Business Availability: Migration must be carried out without affecting the business, in other words, the migration cannot be stopped. There are many things to consider: how to completely migrate existing and incremental data? How to handle performance fluctuations during migration? How to achieve smooth application switching? And so on.

  • Initialization and Change Linkage of Table Structure: When the number of tables to be migrated is huge, and DDL operations occur in the source database during the migration process, how to achieve efficient and stable database migration is undoubtedly a major challenge.

  • Data Migration Quality: During the large-scale data migration process, how to ensure data consistency; when the business migration switch is abnormal, how to effectively roll back to ensure the availability of the business.

  • How to Stop Loss in Case of Migration Failure: Different clouds have different functions and performance, and the migration complexity is high. When the business migration fails, how to effectively ensure the availability of the business is also a key issue that the business needs to consider.

Therefore, we need a tool that does not require public network access, has comprehensive functions, is stable, fast, and can monitor the migration task status in real-time, and ensure the consistency of the migration results.

How to solve cross-cloud migration issues?

So here it comes, NineData's data replication feature is specifically designed to address the above pain points. Let's first look at some of the features of NineData:

  • Support for Multiple Cloud Providers: It integrates the private network environments of various cloud providers, and migration does not require enabling public network access links on the cloud database side. For less common cloud providers, it also provides a gateway function, which can also access the database directly without opening the public network, making the migration link safe and efficient.

  • Non-Disruptive Business During Migration: NineData provides structural migration, full data migration, and CDC incremental data migration based on redo log. During the database migration process, the source Oracle can provide normal services. NineData can automatically complete structural migration, full data migration, and automatically start real-time monitoring, collection, parsing, and replication capabilities of redo log. The incremental update data on the source side will be replicated in real-time to the target side. When NineData enters the incremental data migration phase and the replication is delay-free, the business can perform read-only verification on the target side and use NineData's data comparison tool for data consistency verification. After the business verification is passed, the business can be switched. It can be seen that the entire migration process has a very short business downtime.

  • Strong Replication Performance: During the database migration process, migration speed is undoubtedly an important factor affecting whether the business can be successfully switched. NineData is based on log analysis, intelligent sharding, dynamic batching, data merging, and unique data formats, effectively ensuring the performance of full data replication and incremental data replication. Currently, NineData's full data replication performance is up to 200 GB/hour, and incremental data replication performance is up to 20,000 records/second.

  • Comprehensive Migration Rollback Plan: There are many differences in functionality and performance between different cloud databases, involving a large amount of business transformation and performance tuning, and the difficulty of migration and docking is very high. To reduce the risk of failure, businesses usually need to prepare a rollback plan for failure. NineData provides CDC incremental replication capabilities, supporting real-time collection and parsing of logs from the source and synchronization of increments to the target. Before the business switches from the source to the target, a replication task can be set up in NineData to synchronize the new data generated after the business cutover from the target back to the source in real-time. Based on this replication task, the new data generated after the business cutover can be synchronized back to the source, ensuring that the source retains complete business data. In case of business operation problems caused by the functionality or performance of the target side, the business can be switched back to the source at any time, effectively avoiding business migration failures.

Based on the above capabilities, NineData can easily solve the migration issues between different cloud providers. Let's take a look at how to operate.

Step One: Enter Source and Target Data Sources

  1. Log in to the NineData console, click on Data Source Management > Data Sources, and then click on Create Data Source on the page, and select the required cloud provider.

    image-20240426170752547

  2. According to the page prompts, enter the data source through the private network method, and then click Create Data Source to complete the creation. Repeat this step to complete the entry of the source and target data sources.

    image-20240426170944165

  1. Log in to the NineData console, click on Data Replication > Data Replication, and then click on Create Replication.

    image-20240319150313727

  2. According to the page prompts, configure the replication task. To ensure that the full data and incremental data from the source are completely migrated to the target, check Structural Replication, Full Replication, and Incremental Replication in the Replication Type.

    image-20240426171206249

  3. After the configuration is completed, start the task. For all the synchronization objects you have configured, NineData will first perform a full migration of all the existing data, and then migrate the incremental data newly added in the source in real-time. All newly written data will be synchronized to the target without omission. Whenever the incremental data on the target side catches up with the source, the task panel will display Delay 0 seconds, indicating that the data in the target side is the latest.

    image-20240426172040397

Step Three (Optional): Verify the Integrity of Synchronized Data on the Target Side

In addition to the synchronization function, NineData also provides a comparison function for the synchronized data between the source and the target after synchronization to ensure the integrity of the data on the target side.

  1. Log in to the NineData console, click on Data Replication > Data Replication, and then click on the replication task ID created in Step Two.

    image-20240426172155350

  2. Click on the Data Comparison tab to display the comparison results (if Enable Data Consistency Comparison is not checked in the task configuration of Step Two, you need to click Enable Data Comparison here).

    image-20240426172224424

  3. You can click Re-compare on the page after a while to verify the synchronization results of the latest incremental data.

    image-20240426172240460

Step Four (Optional): Configure Task Exception Alerts

Since it is a long-term task, you may need the system to monitor the task status in real-time and notify you immediately when there is an exception.

  1. Log in to the NineData console, click on Data Replication > Data Replication, and then click on the replication task ID created in Step Two.

    image-20240426172155350

  2. Click on Configure Alerts in the upper right corner.

    image-20240426172313043

  3. Enter the Policy Name and click Save Configuration. You can directly use the built-in default rules to send SMS reminders when the task fails or the replication delay is greater than or equal to 10 minutes. You can also create custom rules to notify according to your needs.

    image-20240426172351384

Summary

Through the above steps, you can completely migrate your business data from Cloud A to Cloud B. With a delay of 0 in incremental replication, you can perform business cutover at any time you need, switching the business traffic to the new cloud.

If you just need to use Cloud B as a multi-active node for your business, you can also keep this migration link running continuously, and NineData will ensure that the data on both sides is kept consistent in real-time.

So far, you have successfully achieved non-disruptive database migration across cloud providers, minimizing the impact on online business.