Azure Cosmos DB Analytical Store Column Count

DP-203 By islever Editorial Last updated

Short answer

C 3

Question

You have an Azure subscription that contains an Azure Cosmos DB database. Azure Synapse Link is implemented on the database. You configure a full fidelity schema for the analytical store. You perform the following actions: • Insert {"customerID": 12, "customer": “Tailspin Toys"} as the first document in the container. • Insert {"customerID": "14", "customer": "Contoso"} as the second document in the container. How many columns will the analytical store contain?
  1. 1
  2. 2
  3. 3 Correct Answer
  4. 4

Key Takeaways

It tests the concept of type preservation in analytical stores; the trap is assuming SQL-like schema enforcement merges types, whereas full fidelity keeps them distinct.

This question tests understanding of Azure Cosmos DB's full fidelity schema in Synapse Link, where different data types for the same field create separate columns. The community consensus is that integer and string versions of 'customerID' plus 'customer' result in three columns.

Common mistake: Option B (2 columns) is incorrect because it assumes 'customerID' is a single column regardless of whether the value is an integer or a string, ignoring the full fidelity requirement.

Expert Analysis

Why the Answer Is Correct

With Azure Synapse Link's full fidelity schema enabled, the analytical store preserves the exact data types from the operational store. Since the first document has customerID as an integer and the second has it as a string, these are stored in two separate columns to maintain type integrity. The customer field is consistently a string, resulting in one column for it. Thus, there are three columns total: customerID_int, customerID_string, and customer_string.

Why the Other Options Are Wrong

Options A and B fail to account for the type separation required by full fidelity. Option D suggests too many columns, perhaps counting metadata or other hidden fields not relevant to the user-defined schema. The key is recognizing that inconsistent typing within a single logical field creates multiple physical columns in the analytical store.

Community Comment Notes

Comment [1] provides the clearest explanation, noting that different types for the same field are stored separately. Comment [2] breaks down the specific column names effectively. Comment [3] links to official documentation confirming Spark manages datatypes as columns. Comments [4], [5], and [6] reinforce the reasoning that the datatype change triggers the third column.

Official Reference

https://learn.microsoft.com/en-us/azure/cosmos-db/analytical-store-introduction

This link opens the official vendor documentation in a new tab.

Exam Strategy

When dealing with 'full fidelity' or 'schema-on-read' concepts in Cosmos DB, always check for data type inconsistencies. If a field varies in type across documents, assume each unique type generates a separate column in the analytical store.

Community Votes

C
100%

100% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 6 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 6

  1. JamieMcD 👍 10
    C - With a full fidelity schema, the analytical store will track both the data and their types accurately. This means different types for the same field will be stored in separate columns. Specifically: There will be one column for customerID as an integer. There will be another column for customerID as a string. There will be one column for customer as a string.
  2. shinypriti23 👍 1 Answered C
    Total Columns: customerID_Number: For the Integer type in the first document. customerID_String: For the String type in the second document. customer_String: For the consistent String type. Total columns = 3
  3. NAWRESS96 👍 1 Answered C
    Because the customerID field appears with different data types (integer in the first and string in the second, the analytical store will treat these as separate columns to maintain the schema's fidelity.
  4. 17c5d1e 👍 1
    Whats the actual answer? I thought B as two columns will be there, CustomerID and Customer. But I guess that C could be right as a third column is added for the Text "14" ??
  5. Okea 👍 1
    Spark will manage each datatype as a column when loading into a DataFrame https://learn.microsoft.com/en-us/azure/cosmos-db/analytical-store-introduction
Show 1 more comment
  1. Danweo 👍 1 Answered C
    C, a third column will be added for the change in datatype.

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

← Back to DP-203 Study Guide