Microsoft Azure Data FundamentalsDescribe how to work with non-relational data on AzureMedium
A company is redesigning its online product catalog. The catalog contains millions of items, each with various attributes such as name, description, price, and multiple images. The data is semi-structured, and the schema can evolve over time as new product attributes are introduced. Queries need to be fast and support filtering by various attributes. Which Azure non-relational data service is the most suitable for this scenario?
- AAzure Table Storage
- BAzure Blob Storage
- CAzure File Storage
- DAzure Cosmos DB (SQL API)
Show answer & explanationAnswer & explanation
Correct answer: D. Azure Cosmos DB (SQL API)
Azure Cosmos DB with its SQL API is ideal for semi-structured data like product catalogs. It provides schema flexibility, high performance for queries, and supports rich querying capabilities over JSON documents, allowing for evolution of the data model.
Why the other options are wrong
- A. Azure Table Storage is a key-value store suitable for simple structured data, but less flexible for evolving semi-structured data and complex queries.
- B. Azure Blob Storage is for unstructured object storage, not for querying semi-structured data with evolving schemas.
- C. Azure File Storage provides shared file shares, not a database service for product catalog data.
Azure Cosmos DB (SQL API)
A globally distributed, multi-model database service that supports document data (JSON) and offers schema flexibility, high-performance queries, and various consistency models.
- Stores data as JSON documents.
- Provides schema flexibility, allowing data models to evolve.
- Supports rich SQL-like queries over document data.
- Offers global distribution and various consistency models.
Memory trick: Cosmos DB is like a flexible 'cosmos' for your ever-changing data.