AWS Certified Solutions Architect – Associate (SAA-C02) — Question 299
A company is creating a three-tier web application consisting of a web server, an application server, and a database server. The application will track GPS coordinates of packages as they are being delivered. The application will update the database every 0-5 seconds.
The tracking will need to read a fast as possible for users to check the status of their packages. Only a few packages might be tracked on some days, whereas millions of package might be tracked on other days. Tracking will need to be searchable by tracking ID customer ID and order ID. Order than 1 month no longer read to be tracked.
What should a solutions architect recommend to accomplish this with minimal cost of ownership?
Answer options
- A. Use Amazon DynamoDB Enable Auto Scaling on the DynamoDB table. Schedule an automatic deletion script for items older than 1 month.
- B. Use Amazon DynamoDB with global secondary indexes. Enable Auto Scaling on the DynamoDB table and the global secondary indexes. Enable TTL on the DynamoDB table.
- C. Use an Amazon RDS On-Demand instance with Provisioned IOPS (PIOPS). Enable Amazon CloudWatch alarms to send notifications when PIOPS are exceeded. Increase and decrease PIOPS as needed.
- D. Use an Amazon RDS Reserved Instance with Provisioned IOPS (PIOPS). Enable Amazon CloudWatch alarms to send notification when PIOPS are exceeded. Increase and decrease PIOPS as needed.
Correct answer: B
Explanation
Amazon DynamoDB is a fully managed NoSQL database that provides single-digit millisecond latency at scale, making it perfect for rapid tracking updates and reads. Enabling Auto Scaling on both the base table and its global secondary indexes (GSIs) allows the system to dynamically handle highly fluctuating volumes of packages without manual intervention, while Time to Live (TTL) automatically purges data older than 1 month at no additional cost. Utilizing Amazon RDS (Options C and D) would incur higher administrative overhead and costs due to manual scaling of Provisioned IOPS, and Option A is less efficient because a custom deletion script increases operational complexity compared to native TTL.