Background
In a scenario where the business continues to develop and the amount of data and concurrency reaches a certain extent, the traditional single database may face problems in terms of performance, scalability and availability.
Although NoSQL solutions can solve the above problems through data sharding and horizontal scale-out, NoSQL databases generally do not support transactions and SQL.
ShardingSphere can also solve the above problems and supports data sharding and horizontal scale-out, while at the same time, also supporting distributed transactions and SQL.
The data migration scheme provided by ShardingSphere can help the traditional single database smoothly switch to ShardingSphere.
Challenges
The data migration process should not affect the running services. So the first challenge is to minimize the time window during which data is not available.
Next, data migration should not affect existing data. So the second challenge is to ensure the data correctness.
Goal
The major goal of Apache ShardingSphere in performing data migration is to reduce the impact of data migration on services and provide a one-stop universal data migration solution.
Application Scenarios
Application scenario one: when an application system is using a traditional single database, and the amount of data in a single table reaches 100 million and is still growing rapidly, a single database that continues to run with a high load will become the bottleneck of the system.
Once the database becomes the bottleneck, it is useless to scale out the application server. Instead, it is the database that needs to be scaled out.