Database migration

0

We are currently performing a cross-account DB migration from RDS MySQL to Aurora MySQL using AWS DMS with full load and ongoing data replication. Since we are multitenant, we are doing this separately for each client, with one DB per DMS job. After the process completes, we see no errors, and it indicates that everything has been migrated properly. At first glance, every table appears to be migrated, but our backend, which uses Drupal, encounters issues due to a corrupted DB.

After attempting a manual migration with MySQL dump, everything worked correctly.

My questions are:

  1. What might cause the inconsistencies during migration with AWS DMS?
  2. Is there any other way to migrate a database separately with minimal downtime?
  3. What are the best practices for this type of migration?

Thank you in advance.

  • Possible Causes of Inconsistencies with AWS DMS is Schema Conversion Issues: AWS DMS might not accurately convert some schema objects, especially complex ones Drupal uses.

2 Answers
1

Hi,

DMS is the right tool for what you're trying to achieve.

I would suggest that you use the DMS Validation Tasks to make surface potential issues after the migration of your data: https://aws.amazon.com/blogs/database/optimize-data-validation-using-aws-dms-validation-only-tasks/

Server. AWS DMS provides the capability to validate your data as you migrate from 
various supported sources to AWS. Data integrity and accuracy is one of key requirements 
we often hear about from our customers that determines a successful migration project. 

Best,

Didier

profile pictureAWS
EXPERT
answered 21 days ago
profile picture
EXPERT
reviewed 21 days ago
  • Hi Didier, Thank you for your response.

    You suggested using the DMS validation service, but I'm unsure how this service can help us with data inconsistencies. Officially, DMS does not transfer foreign keys, stored procedures, triggers, or indexes. We have 100 clients and 785 tables per client. Based on your proposal, would we need to manually check and resolve all discrepancies detected by DMS validation? To be honest, this approach does not seem to align with AWS best practices. If DMS can only migrate data and cannot handle a straightforward task like homogeneous cross-account data migration, it appears to be of limited use. Maybe Is there a talk of combining MySQL dump with DMS? For example, initially copy all the data using MySQL dump and then use DMS for ongoing replication to minimize downtime.

0

Causes of Inconsistencies

1-Data Type Mismatches: Differences in handling data types between MySQL and Aurora MySQL can cause problems.

2-Triggers and Stored Procedures: AWS DMS does not automatically migrate these, potentially leading to application inconsistencies.

3-Ongoing Changes: High write operations during migration might not be fully captured.

4-Data Transformation Rules: Misconfigured transformation rules could alter data.

5-Character Set and Collation: Differences between source and target databases can lead to data corruption.

6-Network Issues: Intermittent network problems can cause incomplete data transfers.

hope you find my answer helpful.

profile picture
answered 21 days ago
profile pictureAWS
EXPERT
reviewed 21 days ago