Courseiva
Design and implement data storagehardMultiple ChoiceObjective-mapped

Table Design with Hash Distribution and Partitioning in Azure Synapse Analytics

A company is migrating its on-premises SQL Server data warehouse to Azure Synapse Analytics. They have a fact table with 2 billion rows and 30 columns. The table is frequently joined on CustomerID and filtered on OrderDate. What is the recommended table design?

Quick Answer

This design works because it matches each optimization technique to the specific access pattern it is built for. Hash-distributing on CustomerID means every row for a given customer lands on the same distribution node, so when the fact table is joined on CustomerID, Synapse does not need to shuffle data across nodes to bring matching rows together, and that data movement is usually the single biggest cost in a large distributed join, so eliminating it has an outsized effect on performance. Partitioning on OrderDate solves a different problem: when queries filter by date range, the engine can skip entire partitions that fall outside the range instead of scanning the full table, which is partition elimination. The two techniques are complementary rather than competing, because distribution controls how data is spread across compute nodes for joins, while partitioning controls how data is organized within each node for filtering. A design that only distributed on CustomerID would still scan unnecessary date ranges, and one that only partitioned on OrderDate would still incur data movement on every join. When you see a large fact table description that names both a frequent join column and a frequent filter column, expect the correct answer to hash-distribute on the join column and partition on the filter column, rather than trying to use one technique to solve both problems.

⚠ Common exam trap

Many candidates confuse the roles of distribution and partitioning, thinking that partitioning on the join column or distributing on the filter column will improve performance, when in fact distribution should align with join keys and partitioning with filter keys.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Hash-distribute on CustomerID and partition on OrderDate

Hash-distributing the fact table on CustomerID ensures that rows with the same CustomerID are co-located on the same distribution node, which makes joins on CustomerID efficient by avoiding data movement. Partitioning on OrderDate enables partition elimination when filtering by date, reducing the amount of data scanned. This combination optimizes both the join and filter operations for a large fact table in Azure Synapse Analytics.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Hash-distribute on CustomerID and partition on OrderDate

    Why this is correct

    Optimizes joins and filtering.

  • Replicate the table to all nodes

    Why it's wrong here

    Table too large to replicate.

  • Round-robin distribution with partitions on OrderDate

    Why it's wrong here

    Joins will be inefficient.

  • Hash-distribute on OrderDate and partition on CustomerID

    Why it's wrong here

    Partition on CustomerID not beneficial for date filtering.

About these practice questions

This DP-203 question is part of Courseiva's 760-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

1 more way this is tested on DP-203

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. A financial services company is migrating its data warehouse to Azure Synapse Analytics. They have a star schema with a 10-billion-row fact table and 50 dimension tables. Query performance is critical, and they need to minimize data movement during joins. Which distribution strategy should they use for the fact table?

medium
  • A.Replicated distribution
  • B.Partitioned distribution
  • C.Hash distribution on the most frequently joined dimension key
  • D.Round-robin distribution

Why C: Hash distribution on the most frequently joined dimension key is correct because it co-locates matching rows from the fact and dimension tables on the same compute node, minimizing data movement during joins. For a 10-billion-row fact table, this distribution ensures that the most common join operation is performed locally without shuffling data across nodes, which is critical for query performance in Azure Synapse Analytics.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DP-203 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-203 exam.