Soru

Zorluk: OrtaAzure Cosmos DB and NoSQL Solutions

An online gaming company is architecting a storage backend for a global multiplayer game. The system must store real-time player matchmaking states in Azure Cosmos DB for NoSQL and deliver daily activity reports to customers via Azure Blob Storage.

The architecture must meet the following requirements:
- The Cosmos DB container must support a workload of 80% writes and 20% reads, achieving a 99.999% write availability SLA.
- The partition key for the matchmaking container must prevent hot partitions during peak tournament times when specific matchmaking pools experience massive spikes in active updates.
- Database backups must survive a regional disaster.
- Access to the daily activity reports in Blob Storage must be granted to client applications using Shared Access Signature (SAS) tokens that can be easily revoked in case of compromise without disrupting other services.

Which configuration should you recommend?

  1. Configure the Cosmos DB account with multi-region writes, partition the container using the matchmaking session identifier, use geo-redundant backup storage, and manage Blob Storage SAS access with a stored access policy.Cevap
  2. B
    Configure the Cosmos DB account with multi-region writes, partition the container using the game region field, use geo-redundant backup storage, and manage Blob Storage SAS access with a stored access policy.
  3. C
    Configure the Cosmos DB account with multi-region writes, partition the container using the matchmaking session identifier, use locally-redundant backup storage (LRS), and manage Blob Storage SAS access with a stored access policy.
  4. D
    Configure the Cosmos DB account with multi-region writes, partition the container using the matchmaking session identifier, use geo-redundant backup storage, and distribute an ad-hoc SAS token with a hardcoded five-year expiration time.

Cevap

Configure the Cosmos DB account with multi-region writes, partition the container using the matchmaking session identifier, use geo-redundant backup storage, and manage Blob Storage SAS access with a stored access policy.
The correct design uses multi-region writes to satisfy the 99.999% write availability SLA, partitions the container using the high-cardinality matchmaking session identifier to distribute write throughput evenly across physical partitions, uses geo-redundant backup storage to survive regional disasters, and leverages a stored access policy for Shared Access Signatures (SAS) to allow clean revocation of client access.

Adım Adım Çözüm

1
Select the write replication configuration for the database.
Enable multi-region writes on the Azure Cosmos DB account.
Azure Cosmos DB single-region write configurations only provide a 99.99% write availability SLA. To achieve a 99.999% SLA for write operations, multi-region writes are required.
2
Determine the partition key strategy for the NoSQL container.
Choose the high-cardinality matchmaking session identifier.
Choosing a low-cardinality key like a geographic region will concentrate write operations onto a limited number of physical partitions, causing hot partitions and Request Rate Too Large exceptions.
3
Select backup redundancy and access token policies.
Choose geo-redundant backup storage and use a stored access policy for SAS tokens.
Geo-redundancy ensures backups survive regional datacenter loss. A stored access policy allows instant revocation of SAS tokens by changing the policy configuration, avoiding the need to rotate account master keys.

Anahtar Kavram

Azure Cosmos DB and NoSQL Solutions
Bu soruyu puanla