A solutions architect is designing the database layer for a global IoT tracking system. The system must ingest 60,000 write operations per second with sub-millisecond database response times, and handle 150,000 read operations per second for active trackers. The read traffic is highly repetitive as users frequently check the status of the same package. The write traffic consists of location updates associated with a monotonically increasing batch sequence number. Which database architecture should the solutions architect choose to meet these performance requirements while preventing write throttling and minimizing read latency?
- Use Amazon DynamoDB with a partition key based on a unique tracker ID (UUID) and a sort key of the timestamp, and deploy an Amazon ElastiCache for Redis cluster to offload repetitive read traffic.Cevap
- BUse Amazon DynamoDB with a partition key based on the batch sequence number to ensure data is written sequentially, and deploy Amazon DynamoDB Accelerator (DAX) to cache all write operations.
- CUse Amazon Aurora PostgreSQL, configure RDS Read Replicas to scale the read operations, and configure the application client to automatically failover write operations to the read replicas if the primary instance experiences high utilization.
- DUse Amazon DynamoDB with a partition key based on a unique tracker ID (UUID), and configure a Global Secondary Index (GSI) with the batch sequence number as the partition key to handle the write traffic directly.
Cevap
Use Amazon DynamoDB with a partition key based on a unique tracker ID (UUID) and a sort key of the timestamp, and deploy an Amazon ElastiCache for Redis cluster to offload repetitive read traffic.
The correct architecture uses Amazon DynamoDB with a high-cardinality partition key (tracker ID UUID) to distribute writes evenly across partitions and prevent throttling. It also uses an Amazon ElastiCache for Redis cluster to cache highly repetitive read requests, delivering microsecond response times and lowering overall database resource consumption.
Adım Adım Çözüm
Anahtar Kavram
Partition key cardinality and caching strategies for high-throughput database workloads.