Question

Difficulty: HardAzure Cosmos DB and NoSQL Solutions

You are designing the data tier for a global smart grid utility monitoring application. The application must ingest telemetry data from 5,000,0005,000,000 smart meters distributed across three geographic regions: East US, West Europe, and East Asia. The workload is highly write-heavy, with a write-to-read ratio of 95:595:5. The system must guarantee sub-1010 ms write latency locally and achieve a 99.999%99.999\% write availability SLA. The primary query pattern involves retrieving the last 2424 hours of readings for a specific meter. Additionally, the solution must meet strict disaster recovery compliance, requiring survival of a complete regional outage. Which design strategy should you recommend to meet the performance, availability, and resilience requirements?

  1. Provision an Azure Cosmos DB for NoSQL account with multi-region writes enabled across all three regions, configure zone-redundancy for each region, and set the container partition key to MeterId.Answer
  2. B
    Provision an Azure Cosmos DB for NoSQL account with multi-region writes enabled across all three regions, configure zone-redundancy for each region, and set the container partition key to RegionId.
  3. C
    Provision an Azure Cosmos DB for NoSQL account in a single region with Locally Redundant Storage (LRS) to minimize cost, and configure a scheduled daily backup script to copy data to secondary regions.
  4. D
    Ingest the telemetry data into Azure Blob Storage using a container partitioned by MeterId, and authenticate the ingestion gateways using a Shared Access Signature (SAS) token configured with a five-year validity period without a stored access policy.

Answer

Provision an Azure Cosmos DB for NoSQL account with multi-region writes enabled across all three regions, configure zone-redundancy for each region, and set the container partition key to MeterId.
Provisioning an Azure Cosmos DB for NoSQL account with multi-region writes enabled ensures that write operations are processed locally in each region, achieving the sub-1010 ms latency goal and meeting the 99.999%99.999\% SLA. Configuring zone-redundancy within each region provides resilience against local datacenter outages. Using the high-cardinality MeterId as the partition key ensures write operations are distributed evenly across logical and physical partitions, preventing hot partitions.

Step-by-Step Solution

1
Analyze write latency and availability requirements.
Identified that multi-region writes are required across East US, West Europe, and East Asia to support local sub-1010 ms write latency and meet the 99.999%99.999\% SLA.
To minimize latency for globally distributed clients and meet strict write availability targets, write replication must be active in all target regions.
2
Evaluate partition key choices to avoid hot partitions.
Selected MeterId as the partition key instead of RegionId.
MeterId provides high cardinality, distributing the heavy ingestion load evenly across physical partitions, whereas RegionId has low cardinality and would cause severe partition bottlenecking.
3
Determine resilience and security settings.
Configured zone-redundancy within each region and discarded designs utilizing Locally Redundant Storage or long-lived Shared Access Signatures without stored access policies.
Zone-redundancy protects against local datacenter failures, while LRS fails regional disaster recovery compliance. Direct use of long-lived SAS tokens violates credential rotation security practices.

Key Concept

Azure Cosmos DB partitioning, multi-region replication, and resilience design for high-throughput NoSQL workloads.
Rate this question