What should a solutions architect recommend to accomplish this with minimal cost of ownership?
Use Amazon DynamoDB Enable Auto Scaling on the DynamoDB table. Schedule an automatic deletion script for items older than 1 month.
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.
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.
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.
Explanations:
While using Amazon DynamoDB is a good option for fast reads and scalability, simply scheduling an automatic deletion script does not effectively utilize the built-in TTL feature of DynamoDB, which can automatically delete items after a specified period. This could lead to higher operational overhead and manual management.
Amazon DynamoDB with global secondary indexes allows for efficient querying by tracking ID, customer ID, and order ID. Enabling Auto Scaling ensures the database can handle varying loads with minimal cost, and using TTL automates the deletion of items older than 1 month, reducing manual maintenance and cost.
An Amazon RDS On-Demand instance provides flexibility, but it may not be cost-effective for high variability in package tracking volume. Provisioned IOPS adds cost, and there is no automatic management of data expiration after one month, leading to potential over-provisioning and higher costs over time.
Similar to option C, using an Amazon RDS Reserved Instance incurs fixed costs and may not handle variable workloads efficiently. It also lacks automatic data expiration management, potentially resulting in unnecessary storage costs and administrative overhead.