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?
- Replicate the database across multiple Azure regions and enable automatic failover.Answer
- Partition the container using a high-cardinality key such as deviceId.Answer
- CPartition the container using a low-cardinality key such as deviceStatus.
- DStore 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
Key Concept
Azure Cosmos DB multi-region replication and partition key selection