A smart home utility provider manages a platform on AWS where millions of smart meters report current power usage telemetry every 15 seconds. The telemetry updates are processed by an auto-scaled fleet of containerized ingestion microservices and written to an Amazon RDS for PostgreSQL DB instance. A customer-facing dashboard application displays real-time consumption statistics for users, resulting in high read queries.
During peak evening hours, the RDS DB instance experiences CPU utilization spikes up to 98% and database connection limits are frequently reached, leading to dropped telemetry writes and dashboard timeout errors. The dashboard requires the absolute latest consumption state with low latency, and this state must survive any infrastructure failover events.
Which of the following database and caching strategies should a Solutions Architect implement to improve database efficiency and resolve these performance issues? (Select TWO.)
- Deploy Amazon RDS Proxy between the ingestion microservices and the RDS DB instance to pool and reuse database connections, minimizing the CPU overhead of connection management.Answer
- Implement an Amazon ElastiCache for Redis cluster with Multi-AZ replication and automatic failover enabled to store and serve the latest state of each meter, offloading the dashboard read queries.Answer
- CDeploy an Amazon ElastiCache for Memcached cluster across multiple Availability Zones to cache the latest meter states, relying on Memcached's native multi-AZ data replication to guarantee state survival during a zone failover.
- DConfigure the RDS PostgreSQL Multi-AZ DB instance's passive standby replica to accept read-only queries, and update the dashboard application's connection string to target the standby replica during peak hours.
- EDeploy an AWS Database Migration Service (DMS) replication task with Change Data Capture (CDC) to stream updates from the RDS instance to a separate database for dashboard reads, without enabling logical replication on the source PostgreSQL instance.