Question

Difficulty: HardAzure Cosmos DB and NoSQL Solutions

You are designing the storage architecture for a global pharmaceutical cold-chain monitoring system. Sensor devices on transport containers in North America, Europe, and Asia write telemetry data (temperature, humidity, and location) every 1010 seconds. The read/write ratio is 95%95\% writes and 5%5\% reads. The application requires a 99.999%99.999\% write availability SLA, sub-10 ms10\text{ ms} write latency, and must survive regional outages. You decide to use Azure Cosmos DB for NoSQL. Which of the following configurations should you recommend?

  1. Configure the Azure Cosmos DB account with multi-region writes across the target regions, use a synthetic partition key combining DeviceId and the date-hour (DeviceId_YYYYMMDDHH) for the container, and use Microsoft Entra ID role-based access control (RBAC) to secure database access.Answer
  2. B
    Configure the Azure Cosmos DB account with multi-region writes, partition the container using ShippingStatus to optimize queries filtering by active shipments, and use Microsoft Entra ID RBAC to secure database access.
  3. C
    Configure the Azure Cosmos DB account as a single-region write database with Locally Redundant Storage (LRS) to minimize overhead, deploy regional read replicas with automatic failover, and use a synthetic partition key of DeviceId_YYYYMMDDHH.
  4. D
    Configure the Azure Cosmos DB account with multi-region writes, partition the container using a synthetic key of DeviceId_YYYYMMDDHH, and secure device access to an associated storage account for log updates using a five-year Shared Access Signature (SAS) token configured without a stored access policy.

Answer

Configure the Azure Cosmos DB account with multi-region writes across the target regions, use a synthetic partition key combining DeviceId and the date-hour (DeviceId_YYYYMMDDHH) for the container, and use Microsoft Entra ID role-based access control (RBAC) to secure database access.
The configuration utilizing multi-region writes, a high-cardinality synthetic partition key (DeviceId_YYYYMMDDHH), and Microsoft Entra ID RBAC satisfies the 99.999%99.999\% write availability SLA, delivers low-latency writes globally, distributes ingestion traffic evenly across physical partitions, and employs secure modern identity authentication.

Step-by-Step Solution

1
Analyze write availability and resiliency requirements.
To achieve a 99.999%99.999\% write availability SLA and survive regional outages, multi-region writes must be enabled across the active regions.
Single-region write configurations only offer a 99.99%99.99\% SLA, whereas multi-region writes provide the highest level of availability and local write latency.
2
Determine the optimal partition key strategy.
Select a high-cardinality synthetic partition key combining DeviceId and date-hour (DeviceId_YYYYMMDDHH).
Since the workload is 95%95\% writes, a low-cardinality partition key would create hot partitions, exceeding storage and throughput limits on physical partitions.
3
Evaluate authentication and security best practices.
Use Microsoft Entra ID RBAC for database access and avoid using long-lived SAS tokens without stored access policies for associated storage accounts.
Identity-based authentication eliminates credential management overhead, and stored access policies are required to enable revocation of SAS tokens.

Key Concept

Designing globally distributed, high-performance, and resilient Azure Cosmos DB architectures using synthetic partition keys and multi-region writes.
Rate this question