Q49 — AWS SAA-C03 Ch.17

Question 49 of 89 | ← Chapter 17

Q1349. An application is experiencing performance issues based on increased demand. This increased demand is on read-only historical records pulled from an Amazon RDS-hosted database with custom views and queries. A solutions architect must improve performance without changing the database structure.Which approach will improve performance and MINIMIZE management overhead?

Correct Answer: C. Deploy Memcached on Amazon EC2 and cache the data for the application.

Explanation

B OR C.C.The correct solution is B. Deploy Amazon ElastiCache (Redis OSS) and cache the data for the application.Explanation:Requirement:The application is experiencing read performance issues due to increased demand for historical data stored in an Amazon RDS database.The solution must improve performance without modifying the database structure (e.g., no schema changes or query rewrites).Minimize management overhead (prefer a fully managed service over self-managed solutions).Why Option B is correct:Amazon ElastiCache (Redis):A fully managed in-memory caching service that supports Redis (an open-source, high-performance key- value store).Reduces RDS read load by caching frequently accessed data (e.g., results of custom views/queries). No schema changes required--applications can check the cache before querying RDS. Low management overhead--AWS handles scaling, patching, and backups.Performance Benefits:Redis provides sub-millisecond latency for cached data, significantly improving read performance. Supports data structures (e.g., hashes, lists) that can efficiently store query results.Why the other options are incorrect:A. Deploy Amazon DynamoDB and move all dataIncorrect:DynamoDB is a NoSQL database, not a caching layer. Migrating from RDS (relational) to DynamoDB would require rewriting the application and modifying the data model, violating the "no database structure changes" requirement.High management overhead for a full migration.C. Deploy Memcached on Amazon EC2Incorrect:Memcached is a valid caching solution, but running it on EC2 introduces management overhead (scaling, patching, monitoring).ElastiCache (Redis) is a better choice for a fully managed, scalable solution.D. Deploy Amazon DynamoDB Accelerator (DAX) on Amazon RDSIncorrect:DAX is for DynamoDB, not RDS. It cannot be used to accelerate RDS queries. Even if it were possible, DAX is designed for NoSQL workloads, not relational databases.Correct Approach (Option B):Deploy ElastiCache (Redis) in the same AWS Region as RDS to minimize latency.Configure the application to:Check Redis for cached data first (using a cache key derived from the query/view). If not found, query RDS and store the result in Redis with an appropriate TTL (Time-To-Live). Use Redis data structures (e.g., hashes for tabular data) to efficiently cache query results.Example Architecture:Application [Check Redis Cache] If miss Query RDS Store in Redis Return result Conclusion:Option B is the best solution because it:Improves read performance with sub-millisecond latency.Requires no changes to the database structure.Uses a fully managed service (ElastiCache) to minimize operational overhead.The other options either violate requirements (A, D) or introduce unnecessary management (C).