A company runs a batch analysis with transactional reporting every hour on its main transactional DB running on an RDS MySQL instance to populate its central Data Warehouse running on Redshift.
During the execution of the batch, their transactional applications are very slow.
When the batch completes, they need to update the top management dashboard with the new data.
The dashboard is produced by another system running on-premises that is currently started when a manually-sent email notifies that an update is required.
The on-premises system cannot be modified because it is managed by another team.
Click on the arrows to vote for the correct answer
A. B. C. D.Answer - C.
There are two architectural considerations here.
(1) you need to improve read performance by reducing the load on the RDS MySQL instance, and (2) automate the process of notifying to the on-premise system.
When the scenario asks you to improve a DB instance's read performance, always look for options such as ElastiCache or Read Replicas.
And when the question asks you to automate the notification process, always think of using SNS.
Options A and B are incorrect because replacing RDS with Redshift may need many changes on the applications and are not required in this scenario.
Option C is CORRECT because (a) it uses Read Replicas which improves the read performance, and (b) it uses SNS which automates the process of notifying the on-premise system to update the dashboard.
Option D is incorrect because SQS is not a service to be used for sending the notification.
For more information on Read Replica's, please visit the below link-
https://aws.amazon.com/rds/details/read-replicas/The problem statement describes that the batch analysis with transactional reporting every hour on the main transactional DB running on an RDS MySQL instance is causing slow performance on the transactional applications. After completion of the batch, the central Data Warehouse running on Redshift needs to be updated, and the top management dashboard needs to be notified.
To address the issue, we need to ensure that the batch analysis doesn't affect the performance of the transactional applications, and the top management dashboard is updated with the new data without modifying the on-premises system.
Option A suggests replacing RDS with Redshift for the batch analysis and using SNS to notify the on-premises system to update the dashboard. This option is not recommended because Redshift is designed for analytics workloads, not transactional workloads. Replacing RDS with Redshift could lead to poor transactional performance and may not address the slow performance issue.
Option B suggests replacing RDS with Redshift for the batch analysis and using SQS to send a message to the on-premises system to update the dashboard. This option is better than option A, but it still has the same issues as option A, which is using Redshift for a transactional workload.
Option C suggests creating an RDS Read Replica for the batch analysis and using SNS to notify the on-premises system to update the dashboard. This option is better than options A and B because RDS Read Replicas are designed for read-heavy workloads and will not impact the performance of the transactional applications. SNS can be used to notify the on-premises system to update the dashboard once the batch analysis is completed.
Option D suggests creating an RDS Read Replica for the batch analysis and using SQS to send a message to the on-premises system to update the dashboard. This option is similar to option C, but instead of using SNS to notify the on-premises system, SQS is used to send a message. This option is also valid, but it requires more configuration and maintenance than option C.
In summary, the recommended option is either option C or D. Creating an RDS Read Replica for the batch analysis is the best approach to avoid impacting the performance of the transactional applications. SNS or SQS can be used to notify the on-premises system to update the dashboard.