Question

Difficulty: HardHigh-Performing Database Solutions

A global logistics network needs to capture telemetry from 500,000500,000 IoT sensors. During peak delivery windows, the sensors transmit status updates at a combined rate of 95,00095,000 writes per second. The application requires sub-millisecond latency when querying the most recent status of any specific device. A solutions architect must design a high-performing database layer that scales efficiently and prevents write bottlenecks. Which database architecture should the solutions architect implement to satisfy these performance requirements?

  1. Configure an Amazon DynamoDB table with the device ID as the partition key and the timestamp as the sort key. Deploy an Amazon DynamoDB Accelerator (DAX) cluster to cache read operations.Answer
  2. B
    Configure an Amazon DynamoDB table with the timestamp as the partition key and the device ID as the sort key. Deploy an Amazon DynamoDB Accelerator (DAX) cluster to cache read operations.
  3. C
    Configure an Amazon RDS for PostgreSQL database with Multi-AZ enabled. Create three read replicas to handle the read traffic, and configure the application to promote a read replica to the primary role in the event of a failure.
  4. D
    Configure an Amazon DynamoDB table with the device ID as the partition key. Deploy an Amazon ElastiCache for Redis cluster in front of the table to intercept all write operations and asynchronously commit them to the DynamoDB table.

Answer

Configure an Amazon DynamoDB table with the device ID as the partition key and the timestamp as the sort key, and deploy an Amazon DynamoDB Accelerator (DAX) cluster to cache read operations.
The correct architecture uses a high-cardinality partition key (device ID) to distribute write traffic evenly across physical partitions, avoiding throttling bottlenecks. Adding DynamoDB Accelerator (DAX) caches read requests, delivering sub-millisecond (microsecond) latency for the application's queries.

Step-by-Step Solution

1
Analyze write scaling and throughput requirements.
Identified that a relational database like Amazon RDS is not suitable for a 95,00095,000 writes/sec workload without sharding, pointing to Amazon DynamoDB.
To ensure the database can scale horizontally to meet the massive write throughput.
2
Select the correct partition key strategy for DynamoDB.
Selected the device ID as the partition key because it has high cardinality and distributes writes evenly across partitions.
To prevent write hot-spotting (partition bottlenecks) caused by monotonically increasing keys like timestamps.
3
Address the sub-millisecond read latency requirement.
Added Amazon DynamoDB Accelerator (DAX) in front of the DynamoDB table.
DAX provides an in-memory, write-through cache that reduces read response times from single-digit milliseconds to microseconds.

Key Concept

Avoiding partition hot-spotting in Amazon DynamoDB by choosing a high-cardinality partition key (device ID instead of a timestamp) and using DAX to achieve sub-millisecond read latency.
Estimated Time:2m 0s
Rate this question