A social media application stores user profile data as JSON documents. Each user's document has a different structure, with fields that vary based on user activity. The application needs to query these documents efficiently using SQL-like syntax and support high write throughput. Which Azure data store is most appropriate for this workload?
Trap 1: Azure SQL Database
Azure SQL Database is a relational database requiring a fixed schema. While it can store JSON, it is not optimized for highly variable document structures and may require schema changes.
Trap 2: Azure Blob Storage
Azure Blob Storage is designed for unstructured binary data such as images or videos. It does not provide built-in querying capabilities for JSON content stored within blobs.
Trap 3: Azure Table Storage
Azure Table Storage is a key-value store that stores entities with a fixed set of properties. It is not suitable for deeply nested or variable JSON documents and lacks native querying for complex structures.
- A
Azure SQL Database
Why wrong: Azure SQL Database is a relational database requiring a fixed schema. While it can store JSON, it is not optimized for highly variable document structures and may require schema changes.
- B
Azure Blob Storage
Why wrong: Azure Blob Storage is designed for unstructured binary data such as images or videos. It does not provide built-in querying capabilities for JSON content stored within blobs.
- C
Azure Cosmos DB
Azure Cosmos DB is a globally distributed, multi-model NoSQL database that supports JSON documents natively. It allows flexible schemas, SQL-like querying, and high throughput, making it ideal for this scenario.
- D
Azure Table Storage
Why wrong: Azure Table Storage is a key-value store that stores entities with a fixed set of properties. It is not suitable for deeply nested or variable JSON documents and lacks native querying for complex structures.