Cost-Effective Caching for Repeated DB Reads
Short answer
A Implement an Amazon ElastiCache for Redis cluster between the application and the DB cluster.
Question
Key Takeaways
The key trap is choosing more database replicas (Aurora scaling) when the workload consists of identical repeated reads that are ideal candidates for in-memory caching.
This question evaluates how to offload repeated read workloads from Amazon Aurora using a cost-effective caching layer. The correct solution is implementing Amazon ElastiCache for Redis.
Common mistake: Many learners select Option C (Aurora Auto Scaling) because it sounds like a modern, automated solution for load issues, failing to recognize that caching is significantly cheaper and more efficient for static data.
Expert Analysis
Why the Answer Is Correct
The scenario specifies that the increased load is caused by 'repeated read statements' related to delivery details. This is the textbook definition of a use case for an in-memory cache like Amazon ElastiCache for Redis. By storing the results of these frequent queries in memory, the application avoids hitting the database for every request. This drastically reduces the I/O load on the Aurora cluster. Furthermore, among the options provided, adding a cache layer is typically the most cost-effective way to handle high-frequency reads compared to provisioning additional compute or storage resources in the database tier.
Why the Other Options Are Wrong
Option B (adding another read replica) and Option C (Aurora Auto Scaling) involve adding more database instances. While this increases read capacity, it incurs significant ongoing costs for instance hours and storage. It does not reduce the fundamental inefficiency of re-querying the same data repeatedly. Option D is incorrect because Aurora MySQL clusters support only one writer instance; multiple writers are a feature of distributed databases like DynamoDB or specific multi-master setups not available in standard Aurora MySQL.
Community Comment Notes
The community strongly favors Option A, with users noting that 'repeated read statements' clearly indicate a need for a cache layer. One commenter pointed out that while Redis might seem expensive, it is more cost-effective than scaling the database for this specific pattern. Another user emphasized that adding read replicas costs money and doesn't solve the repeated query inefficiency as well as caching does.
Exam Strategy
When you see keywords like 'repeated reads', 'static data', or 'frequent lookups', immediately consider caching solutions (ElastiCache) before considering database scaling. Always evaluate the 'MOST cost-effectively' constraint to rule out over-provisioned database instances.
Frequently Asked Questions
Why not just add more Aurora read replicas?
Is ElastiCache always cheaper than Aurora scaling?
Community Votes
100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 6 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 6
-
BillaRanga 👍 4 Answered AThe question says, "The operations that cause the increase in DB cluster usage are all repeated read statements that are related to delivery details." - Read statements mean we can cache the results - hence, we need No read-replicas; we need only a cache layer to improve the performance.. Also, Adding read replicas costs money. The requirement is to meet them MOST cost-effectively
-
sandordini 👍 4 Answered AA. Although Redis is not typically cheap, the question statement clearly shouts for a cached solution, which is Redis... Also, that's the only long-term solution, as we don't know anything about the volumes, scale of trends, etc...
-
Kezuko 👍 3 Answered A"repeated read statements" -> Cache layer
-
Scheldon 👍 1 Answered CAnswerC After topic reconsideration I will go with Aurora autoscaling To meet your connectivity and workload requirements, Aurora Auto Scaling dynamically adjusts the number of Aurora Replicas (reader DB instances) provisioned for an Aurora DB cluster. Aurora Auto Scaling is available for both Aurora MySQL and Aurora PostgreSQL. Aurora Auto Scaling enables your Aurora DB cluster to handle sudden increases in connectivity or workload. When the connectivity or workload decreases, Aurora Auto Scaling removes unnecessary Aurora Replicas so that you don't pay for unused provisioned DB instances. https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Integrating.AutoScaling.html
-
Andy_09 👍 7Option A
Show 1 more comment
-
Scheldon 👍 3 Answered AAnswerA
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →