Soru

Zorluk: ZorAzure Cosmos DB and NoSQL Solutions

You are designing the storage architecture for a global multiplayer online game. The solution must store player profiles and dynamic inventories, and also provide access to large game asset files, such as character textures and game replays. The solution must meet the following requirements:

* Player profiles and inventories: Must support sub-10ms write latency for active players in East US, West Europe, and East Asia, and must prevent hot partition bottlenecks when players gather for large in-game events.
* Game asset files: Must be secured using time-constrained, revocable tokens.
* High Availability: The storage of game assets must survive a regional datacenter outage with zero data loss.

Which database and storage configuration should you recommend?

  1. Use Azure Cosmos DB for NoSQL with multi-region writes enabled across all three regions, partitioning the player container by `playerId`. For game assets, use Azure Blob Storage with Geo-Redundant Storage (GRS) and generate Shared Access Signatures (SAS) associated with a stored access policy.Cevap
  2. B
    Use Azure Cosmos DB for NoSQL with multi-region writes enabled across all three regions, partitioning the player container by `guildId`. For game assets, use Azure Blob Storage with Geo-Redundant Storage (GRS) and generate Shared Access Signatures (SAS) associated with a stored access policy.
  3. C
    Use Azure Cosmos DB for NoSQL with multi-region writes enabled across all three regions, partitioning the player container by `playerId`. For game assets, use Azure Blob Storage with Locally Redundant Storage (LRS) to optimize costs, and generate Shared Access Signatures (SAS) associated with a stored access policy.
  4. D
    Use Azure Cosmos DB for NoSQL with multi-region writes enabled across all three regions, partitioning the player container by `playerId`. For game assets, use Azure Blob Storage with Geo-Redundant Storage (GRS) and generate long-lived ad-hoc Shared Access Signatures (SAS) with a lifetime of one year directly on the URI.

Cevap

Use Azure Cosmos DB for NoSQL with multi-region writes enabled, partition the player container by player identifier, use Geo-Redundant Storage (GRS) for game assets, and generate Shared Access Signatures (SAS) associated with a stored access policy.
The correct design uses Azure Cosmos DB for NoSQL with multi-region writes to provide low-latency writes across global regions. Partitioning by player identifier ensures a high-cardinality key, distributing database operations evenly to avoid hot partitions. Using Azure Blob Storage with Geo-Redundant Storage (GRS) ensures the game assets survive a primary datacenter outage, and using Shared Access Signatures (SAS) linked to a stored access policy allows for revocable, time-constrained token access.

Adım Adım Çözüm

1
Select the database partitioning and replication model
Cosmos DB with multi-region writes enabled and partitioning by player identifier.
Multi-region writes ensure sub-10ms write latency in East US, West Europe, and East Asia. Using a unique player identifier as the partition key ensures high cardinality, preventing hot partitions that would occur with a lower cardinality key like a guild identifier.
2
Select the storage redundancy tier
Azure Blob Storage with Geo-Redundant Storage (GRS).
GRS replicates data to a secondary region, ensuring the storage of assets survives a regional datacenter outage, unlike Locally Redundant Storage (LRS) which is limited to a single datacenter.
3
Configure security access tokens
Shared Access Signatures (SAS) linked to a stored access policy.
Linking a SAS to a stored access policy allows you to revoke or change the token parameters (like permissions or expiration) without rotating storage account keys, which is impossible with long-lived ad-hoc SAS tokens.

Anahtar Kavram

Azure Cosmos DB partitioning, multi-region replication, Azure Storage redundancy, and SAS security policies.
Tahmini Süre:2m 30s
Bu soruyu puanla