AWS Certified Database – Specialty — Question 89
A ride-hailing application uses an Amazon RDS for MySQL DB instance as persistent storage for bookings. This application is very popular and the company expects a tenfold increase in the user base in next few months. The application experiences more traffic during the morning and evening hours.
This application has two parts:
✑ An in-house booking component that accepts online bookings that directly correspond to simultaneous requests from users.
✑ A third-party customer relationship management (CRM) component used by customer care representatives. The CRM uses queries to access booking data.
A database specialist needs to design a cost-effective database solution to handle this workload.
Which solution meets these requirements?
Answer options
- A. Use Amazon ElastiCache for Redis to accept the bookings. Associate an AWS Lambda function to capture changes and push the booking data to the RDS for MySQL DB instance used by the CRM.
- B. Use Amazon DynamoDB to accept the bookings. Enable DynamoDB Streams and associate an AWS Lambda function to capture changes and push the booking data to an Amazon SQS queue. This triggers another Lambda function that pulls data from Amazon SQS and writes it to the RDS for MySQL DB instance used by the CRM.
- C. Use Amazon ElastiCache for Redis to accept the bookings. Associate an AWS Lambda function to capture changes and push the booking data to an Amazon Redshift database used by the CRM.
- D. Use Amazon DynamoDB to accept the bookings. Enable DynamoDB Streams and associate an AWS Lambda function to capture changes and push the booking data to Amazon Athena, which is used by the CRM.
Correct answer: B
Explanation
Option B is correct because it leverages Amazon DynamoDB, which is well-suited for handling high traffic and allows for scalability. The use of DynamoDB Streams and AWS Lambda provides an efficient mechanism to capture changes and process booking data without overloading the RDS for MySQL. The other options either use ElastiCache, which is not ideal for persistent storage, or direct data to services that are not optimized for this workload, leading to potential inefficiencies.