AWS Certified Solutions Architect – Professional — Question 519

You need a persistent and durable storage to trace call activity of an IVR (Interactive Voice Response) system. Call duration is mostly in the 2-3 minutes timeframe. Each traced call can be either active or terminated. An external application needs to know each minute the list of currently active calls. Usually there are a few calls/second, but once per month there is a periodic peak up to 1000 calls/second for a few hours. The system is open 24/7 and any downtime should be avoided. Historical data is periodically archived to files. Cost saving is a priority for this project.
What database implementation would better fit this scenario, keeping costs as low as possible?

Answer options

Correct answer: D

Explanation

DynamoDB is highly scalable and cost-effective for handling the sudden traffic spikes of 1,000 calls/second compared to an RDS instance, which would need to be continuously over-provisioned. Using a sparse Global Secondary Index (GSI) by only populating the "IsActive" attribute for active calls ensures that the GSI remains small and inexpensive to query, as terminated calls are automatically excluded. Option A is less cost-effective because indexing all terminated calls unnecessarily inflates GSI storage and write costs.