A retail analytics team is moving to BigQuery. About 100,000 new sales rows are loaded into a fact table each day. The product catalog dimension has over 200 million rows, is updated hourly, and is reused by several other fact tables. Country and currency dimensions change rarely and appear only in the sales fact table. To minimize ETL maintenance while preserving query performance, how should the team model these dimensions in BigQuery?
Embed all dimensions, including the product catalog, directly in the sales fact table to eliminate joins.
Embed the frequently changing product catalog in the sales fact table and keep the rarely changing country and currency in separate dimension tables.
Keep every dimension in its own table and perform joins for all analytical queries.
Store the product catalog in a separate normalized dimension table and embed the country and currency attributes directly in the sales fact table (for example, as nested fields).
Keeping frequently changing or widely shared dimensions in their own tables follows a snowflake-style approach that avoids rewriting every affected fact table whenever the dimension changes. Less volatile, single-use dimensions can be safely denormalized-embedded as scalar or nested columns-to eliminate unnecessary joins and improve query cost and speed. Therefore, isolating the product catalog dimension and embedding the stable country and currency data best balances maintenance effort with performance. Placing all dimensions in the fact table would force frequent rewrites, and normalizing every dimension yields avoidable joins for the stable ones.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is a snowflake-style approach in data modeling?
Open an interactive chat with Bash
What is the difference between denormalized and normalized data models in BigQuery?
Open an interactive chat with Bash
How does embedding stable dimensions improve query performance in BigQuery?
Open an interactive chat with Bash
What is a snowflake schema in BigQuery modeling?
Open an interactive chat with Bash
What are nested fields in BigQuery, and why are they used for certain dimensions?
Open an interactive chat with Bash
How does denormalization affect query performance in BigQuery?
Open an interactive chat with Bash
Why is it efficient to store the product catalog as a separate normalized dimension table?
Open an interactive chat with Bash
What benefits do nested fields provide when embedding country and currency data in the sales fact table?
Open an interactive chat with Bash
Why is embedding all dimensions, including the product catalog, directly into the sales fact table not advisable?
Open an interactive chat with Bash
GCP Professional Data Engineer
Storing the data
Your Score:
Report Issue
Bash, the Crucial Exams Chat Bot
AI Bot
Loading...
Loading...
Loading...
Pass with Confidence.
IT & Cybersecurity Package
You have hit the limits of our free tier, become a Premium Member today for unlimited access.
Military, Healthcare worker, Gov. employee or Teacher? See if you qualify for a Community Discount.
Monthly
$19.99
$19.99/mo
Billed monthly, Cancel any time.
3 Month Pass
$44.99
$14.99/mo
One time purchase of $44.99, Does not auto-renew.
MOST POPULAR
Annual Pass
$119.99
$9.99/mo
One time purchase of $119.99, Does not auto-renew.
BEST DEAL
Lifetime Pass
$189.99
One time purchase, Good for life.
What You Get
All IT & Cybersecurity Package plans include the following perks and exams .