Problem Description:

Felix delivers intelligent local advertising, connecting businesses with the right customers. They wanted to migrate their on-premises Percona MySQL database to AWS, taking this opportunity to upgrade their DB engine from MySQL 5.0 to 5.7 along the way.


Solutions Highlights:

AVM explored a range of options for the migration to AWS – including Aurora, EC2, and RDS. Data Migration Service (DMS) was also considered for this project. We compared an abundance of options for Felix, ranging from Percona MySQL to community editions of MySQL. Felix benefited hugely from Percora’s threading functionality. Since RDS uses the community flavour, we decided to rule this service out.

The biggest challenge in this project presented itself in the upgrade from MySQL 5.0 to 5.7. This had to be a multi-step migration, since the database was 3TB in size and a downtime of at most one hour was permissible. We did an extensive study for the upgrade, establishing how to speed this up and provide minimal downtime.

We settled for Percona MySQL on EC2, tweaking the instance type and IOPS for optimal performance. To accelerate the DB engine upgrade, we adopted MySQL’s mysqldump functionality with custom parallel execution, choosing this over native data migration tools because it could better handle ref constraints and triggers.