AWS Certified Solutions Architect - Professional / Question #783 of 529

Question #783

A logistics company stores shipment tracking data in an Amazon DynamoDB table configured with on-demand capacity mode. Each night, several million new shipment records are batch-loaded into the table. Throughout the day, applications query the table sporadically with high frequency on a small subset of tracking IDs. The company wants to optimize DynamoDB-related expenses without compromising performance.

A

Deploy an Amazon ElastiCache cluster in front of the DynamoDB table. Configure DynamoDB auto scaling. Purchase Savings Plans in Cost Explorer.

B

Use provisioned capacity mode. Purchase Savings Plans in Cost Explorer.

C

Deploy DynamoDB Accelerator (DAX). Continue using on-demand capacity mode. Purchase Savings Plans in Cost Explorer.

D

Deploy DynamoDB Accelerator (DAX). Use provisioned capacity mode. Configure DynamoDB auto scaling. Purchase Savings Plans in Cost Explorer.

Explanation

Option D is correct because:
1. DynamoDB Accelerator (DAX) caches frequent read queries on a small subset of tracking IDs, reducing read costs and improving performance.
2. Provisioned capacity mode is more cost-effective than on-demand for predictable workloads (e.g., nightly batch writes).
3. Auto scaling adjusts write capacity for nightly batch loads and scales down during low-usage periods, optimizing costs.
4. Savings Plans provide discounts on provisioned capacity.

Other options are suboptimal:
- A: ElastiCache is less efficient than DAX for DynamoDB-specific caching. On-demand mode does not support auto scaling.
- B: Provisioned mode alone lacks caching, leading to higher read costs for frequent queries.
- C: On-demand mode is expensive for predictable nightly writes, whereas provisioned mode with auto scaling is more cost-effective.

Key Points: Use DAX for read-heavy patterns, provisioned mode with auto scaling for predictable workloads, and Savings Plans for discounts.

Answer

The correct answer is: D