Soru

Zorluk: ZorHigh-Performing Database Solutions

A solutions architect is designing the database tier for an IoT fleet management application. The application receives real-time telemetry from 90,00090,000 vehicles. The data volume exhibits sudden, highly irregular spikes when vehicles enter high-connectivity zones, ranging from 1,0001,000 writes per second up to a peak of 50,00050,000 writes per second. The application requires sub-millisecond read latency for live dashboard queries, while write operations must have single-digit millisecond latency. The primary read query retrieves the latest status events for a specific vehicle. Which database architecture meets these requirements with the highest performance and scalability?

  1. A
    Create an Amazon DynamoDB table using a rounded timestamp as the partition key and vehicle_id as the sort key. Configure the table with On-Demand capacity mode, and deploy a DynamoDB Accelerator (DAX) cluster to cache read queries.
  2. B
    Create an Amazon DynamoDB table using vehicle_id as the partition key and timestamp as the sort key. Configure the table to use Provisioned Capacity Mode set to the peak of 50,00050,000 write capacity units (WCUs) to guarantee write performance during spikes, and cache reads using an Amazon ElastiCache for Memcached cluster.
  3. Create an Amazon DynamoDB table using vehicle_id as the partition key and timestamp as the sort key. Configure the table with On-Demand capacity mode, and deploy a DynamoDB Accelerator (DAX) cluster to handle read queries.Cevap
  4. D
    Deploy an Amazon RDS for PostgreSQL database in a Multi-AZ deployment. Set up RDS Read Replicas to handle the read queries, and configure the application to target the Read Replicas as the primary disaster recovery failover mechanism to maintain high performance.

Cevap

Create an Amazon DynamoDB table using vehicle_id as the partition key and timestamp as the sort key, configured in On-Demand capacity mode, with a DynamoDB Accelerator (DAX) cluster for caching reads.
The correct option provides the most performant and scalable solution. Partitioning by vehicle_id ensures a uniform distribution of write operations across physical partitions, avoiding the hot key issue. On-Demand capacity mode scales dynamically to handle sudden write spikes up to the peak of 50,00050,000 writes per second without requiring manual provisioning or incurring idle costs. DynamoDB Accelerator (DAX) delivers the required sub-millisecond read latency by caching queries directly in-memory.

Adım Adım Çözüm

1
Evaluate the database scalability and performance requirements.
Identify that the system requires up to 50,00050,000 writes/sec with single-digit millisecond latency, and sub-millisecond read latency. Traditional relational databases like RDS are ruled out because scaling writes to this level under spiky workloads is complex and expensive.
Establishing database type boundaries ensures a high-performing and cost-effective fit.
2
Determine the optimal partition key design for the DynamoDB table.
Select vehicle_id as the partition key to distribute writes evenly across DynamoDB partitions.
Avoiding monotonically increasing keys (such as timestamps) prevents hot partition bottlenecks.
3
Select the capacity mode and caching solution.
Choose On-Demand capacity mode to automatically handle unpredictable write spikes, and implement DynamoDB Accelerator (DAX) to achieve sub-millisecond read latencies.
On-Demand mode prevents throttling and over-provisioning costs, while DAX provides microsecond read performance.

Anahtar Kavram

High-performing database scaling using partition key design, capacity mode selection, and caching integration on AWS.
Tahmini Süre:2m 0s
Bu soruyu puanla