A global manufacturing company is migrating its legacy Enterprise Resource Planning (ERP) system to AWS. The ERP system is a monolithic application built on a proprietary database (DB1) and uses specific reporting tools that rely on direct SQL queries to an operational data store (DB2). The company wants to migrate DB1 to Amazon Aurora MySQL-Compatible Edition. However, the reporting tools cannot be immediately refactored and must continue to access the operational data store (DB2), which will also be migrated to AWS. The goal is to minimize refactoring of the reporting tools while leveraging AWS managed services for DB2, ensuring data consistency between DB1 and DB2. Which approach should be taken for DB2?
- AMigrate DB2 to Amazon RDS for PostgreSQL and use AWS Database Migration Service (DMS) for one-way replication from Aurora to RDS for PostgreSQL.
- BKeep DB2 on-premises and establish a secure VPN connection for reporting tools to access it.
- CMigrate DB2 to Amazon Redshift and update reporting tools to use Redshift's SQL interface.
- DMigrate DB2 to Amazon RDS for MySQL and use AWS Database Migration Service (DMS) for one-way replication from Aurora to RDS for MySQL.
Show answer & explanationAnswer & explanation
Correct answer: D. Migrate DB2 to Amazon RDS for MySQL and use AWS Database Migration Service (DMS) for one-way replication from Aurora to RDS for MySQL.
Migrating DB2 to Amazon RDS for MySQL provides a managed service for the operational data store. Using AWS DMS for one-way replication from Aurora MySQL to RDS for MySQL ensures data consistency. Since the reporting tools rely on direct SQL queries and cannot be immediately refactored, keeping the database engine as MySQL (or a compatible variant like Aurora MySQL) minimizes changes to these tools, allowing them to continue functioning as expected.
Why the other options are wrong
- A. Migrating to Amazon RDS for PostgreSQL would require refactoring of reporting tools due to the change in database engine and SQL dialect, which contradicts the goal of minimizing refactoring.
- B. Keeping DB2 on-premises would lead to increased latency for reporting tools, potential network bottlenecks, and would not leverage the benefits of AWS managed services, nor address the eventual migration of DB2.
- C. Migrating to Amazon Redshift would require significant refactoring of reporting tools because Redshift is a data warehouse with different SQL dialects and query optimization characteristics than a transactional database.
Database Migration with Minimal Reporting Tool Refactoring
Migrating an operational data store (DB2) to a compatible AWS managed relational database service (e.g., RDS for MySQL) and using AWS DMS for replication from the primary application database (e.g., Aurora MySQL) to minimize changes to legacy reporting tools.
- Choose a target database engine compatible with the original for reporting tools to avoid refactoring.
- AWS DMS provides continuous data replication for consistency between databases.
- Leverages managed database services for high availability and scalability.
- Aids in phased migration strategies for complex applications.
Memory trick: Same SQL engine in RDS, DMS keeps the reports consistent.