Question

Difficulty: EasyAzure Cosmos DB and NoSQL Solutions

You are designing an Azure Cosmos DB NoSQL API solution for a global telemetry tracking application. The workload consists of a 90:10 read/write ratio, with data ingested from devices globally. You need to ensure the system survives a regional outage to meet disaster recovery SLAs and scales efficiently without creating hot partitions.

Which two configurations should you recommend to meet these requirements?

  1. Replicate the database across multiple Azure regions and enable automatic failover.Answer
  2. Partition the container using a high-cardinality key such as deviceId.Answer
  3. C
    Partition the container using a low-cardinality key such as deviceStatus.
  4. D
    Store the database backups on a Locally Redundant Storage (LRS) account.

Answer

Replicating the database across multiple regions with automatic failover and partitioning the container using a high-cardinality key (such as deviceId) are the correct configurations.
Replicating across multiple regions with automatic failover ensures that the Cosmos DB database remains available during a regional disaster. Using a high-cardinality partition key, such as deviceId, distributes requests and storage evenly across logical partitions to prevent hot partitions.

Step-by-Step Solution

1
Analyze the resiliency requirements to ensure survival of regional outages.
Identify that multi-region replication with automatic failover is required to maintain availability during regional disasters.
Single-region deployments cannot survive regional datacenter outages.
2
Analyze the scaling requirements to prevent hot partitions.
Select a partition key with high cardinality (such as deviceId).
Low-cardinality keys like deviceStatus group too many documents into the same partition, leading to hot partitions under scale.

Key Concept

Azure Cosmos DB multi-region replication and partition key selection
Rate this question