How should the company meet these requirements with the LEAST amount of application changes?
Use Amazon Redshift for the product catalog and Amazon DynamoDB tables for the customer information and purchases.
Use Amazon DynamoDB global tables for the product catalog and regional tables for the customer information and purchases.
Use Aurora with read replicas for the product catalog and additional local Aurora instances in each region for the customer information and purchases.
Use Aurora for the product catalog and Amazon DynamoDB global tables for the customer information and purchases.
Explanations:
Amazon Redshift is a data warehousing solution and not suitable for a single product catalog that needs to be highly available and transactional. Additionally, using DynamoDB for customer information may introduce significant application changes since it requires a different data model and access patterns compared to Aurora.
While Amazon DynamoDB global tables can provide a single product catalog across regions, they may not support complex querying and transactional capabilities that a relational database like Aurora offers. This option would also require changes to the application to accommodate DynamoDB’s data model.
Using Aurora with read replicas for the product catalog allows for a single catalog that can be easily scaled across multiple regions while maintaining high availability. Additional local Aurora instances can handle customer information and purchases for compliance, allowing minimal application changes as the same Aurora engine can be used.
Although Aurora is suitable for the product catalog, using DynamoDB global tables for customer information and purchases may require significant application changes. DynamoDB does not support relational data features like joins and transactions in the same way that Aurora does, making it less ideal for this use case.