Question

Difficulty: MediumCost-Optimized Database Design and Capacity Planning

A fleet management company collects real-time GPS telemetry from 10,00010,000 vehicles. The telemetry data is sent continuously at a highly predictable rate of 2,0002,000 writes per second. Users frequently query the GPS coordinate data from the last 1212 hours via a monitoring dashboard. Historical data older than 1212 hours is rarely accessed but must be retained for up to 33 years for regulatory compliance. The company wants to design a highly cost-optimized database and storage architecture. Which two database configurations should a solutions architect recommend to meet these requirements? (Select TWO).

  1. Configure the Amazon DynamoDB table using provisioned capacity mode with Auto Scaling enabled to store the active data.Answer
  2. Enable DynamoDB Time to Live (TTL) on the table to automatically delete items older than 1212 hours, and use DynamoDB Streams to archive the deleted records to Amazon S3.Answer
  3. C
    Configure the Amazon DynamoDB table using on-demand capacity mode to handle the continuous vehicle write traffic.
  4. D
    Store the active telemetry data in an Amazon RDS for PostgreSQL database with Multi-AZ enabled, using Read Replicas as the primary database failover target.
  5. E
    Archive the historical telemetry data to Amazon S3 Standard-Infrequent Access (S3 Standard-IA) and configure an S3 Lifecycle policy to delete the files after 1515 days.

Answer

The solutions architect should recommend configuring the Amazon DynamoDB table with provisioned capacity mode and Auto Scaling enabled for the active data, and enabling DynamoDB Time to Live (TTL) to automatically delete records older than 1212 hours while archiving them to Amazon S3 via DynamoDB Streams.
The correct options are configuring the Amazon DynamoDB table with provisioned capacity mode and Auto Scaling enabled, and enabling DynamoDB TTL combined with DynamoDB Streams to archive deleted records to Amazon S3. Provisioned capacity mode with Auto Scaling is highly cost-effective for continuous, predictable workloads because it avoids the higher per-request cost of on-demand capacity mode. Enabling TTL automatically removes data older than 1212 hours from DynamoDB at no cost, and archiving those records via streams to Amazon S3 ensures that long-term historical data is stored in a cost-optimized storage tier rather than expensive database storage.

Step-by-Step Solution

1
Analyze the workload characteristics of the active write stream.
The workload consists of a steady, continuous stream of 2,0002,000 writes per second from 10,00010,000 vehicles, which is highly predictable.
Identifying the predictability of the workload determines the most cost-effective database capacity mode (provisioned vs. on-demand).
2
Evaluate the query patterns and data lifecycle requirements.
Dashboard users query only the last 1212 hours of data, while historical data must be kept for 33 years but is rarely accessed.
This establishes that the active database only needs to store a small window of data, and the rest can be archived to a cheaper storage tier.
3
Select the database and storage configuration that minimizes costs.
Use DynamoDB with provisioned capacity mode and Auto Scaling for active data, and configure DynamoDB TTL and Streams to automatically delete active records and archive them to Amazon S3.
Provisioned capacity is cheaper for predictable workloads. DynamoDB TTL deletes data at no extra cost, and S3 is the most cost-effective storage class for rarely accessed compliance data.

Key Concept

Selecting the most cost-effective database capacity mode and establishing tiered storage policies to minimize long-term data retention costs.
Rate this question