Which action should be taken to improve the performance of the backend?
Implement Amazon SNS to store the database calls.
Implement Amazon ElastiCache to cache the large datasets.
Implement an RDS for MySQL read replica to cache database calls.
Implement Amazon Kinesis Data Firehose to stream the calls to the database.
Explanations:
Amazon SNS (Simple Notification Service) is a messaging service for sending notifications and is not suitable for caching database calls or improving performance for frequent database queries. It does not cache data and is not intended for reducing database load.
Amazon ElastiCache is an in-memory caching service that can store frequently accessed data sets. By caching the large datasets returned by the database, it can significantly reduce the load on the RDS instance and improve the response time for the backend application.
While implementing an RDS read replica can offload read traffic from the primary database and help with performance, it does not cache data. It simply replicates the data from the primary RDS instance and may not solve the issue of frequent identical queries efficiently, as it still requires database calls for data retrieval.
Amazon Kinesis Data Firehose is a service for streaming data to data lakes, analytics services, and other storage services. It is not used for caching data or improving database query performance. It does not address the issue of high-frequency calls to the database and does not provide a caching mechanism.