Which solution will meet these requirements MOST cost-effectively?
Create a second Aurora DB cluster. Configure a copy job to replicate the users’ data to the new database. Update the application to use the second database to read the data.
Create an Amazon DynamoDB Accelerator (DAX) cluster in front of the existing Aurora DB cluster. Update the application to use the DAX cluster for read-only queries. Write data directly to the Aurora DB cluster.
Create an Aurora read replica in the existing Aurora DB cluster. Update the application to use the replica endpoint for read-only queries and to use the cluster endpoint for write queries.
Create an Amazon Redshift cluster. Copy the users’ data to the Redshift cluster. Update the application to connect to the Redshift cluster and to perform read-only queries on the Redshift cluster.
Explanations:
Creating a second Aurora DB cluster and replicating data may add complexity and cost. Aurora replication is usually designed for scaling read capacity, not for enhancing write performance. Additionally, it does not address the underlying issue of write performance degradation during peak usage.
Amazon DynamoDB Accelerator (DAX) is specifically for caching DynamoDB queries. It cannot be used with Amazon Aurora, which is a relational database service. This would not address the issue of scalability for write queries in Aurora.
Creating an Aurora read replica and routing read queries to the replica while keeping writes directed to the primary instance is a well-established, cost-effective way to scale read performance. The write performance is maintained on the primary DB instance, and the read traffic is distributed across the replica(s).
Amazon Redshift is a data warehouse solution designed for analytical workloads, not for transactional databases like Aurora. Using Redshift for read-only queries would not help with transactional write performance and would require substantial data migration and additional complexity.