Prepare and test your skills

Prepare and test your skills

Free sample question, answered and explained below. The Professional Data Engineer practice bank has 1,353 more like it. Try 10 free: instant score, no account.
An enterprise is designing a high-volume retail data warehouse in BigQuery. The data modeling team must capture slowly changing customer attributes (such as address, loyalty status, and assigned sales representative) to ensure accurate point-in-time historical analysis for sales orders.
The analytical workload requires fast query performance across billions of sales records while minimizing expensive multi-table JOIN operations and computational shuffle overhead.
Which schema design and temporal modeling strategy should the team implement?
An SCD Type 1 approach overwrites existing records with new attribute values whenever a change occurs in the source system, maintaining only current-state data. Table snapshots in BigQuery capture the point-in-time state of a table at a specific timestamp within the retention window.
The organization only required current-state operational reporting, had no compliance or business requirements to track historical attribute changes, and used snapshots solely for disaster recovery.
valid_from and valid_to timestamps, requiring sales analytical queries to execute non-equi joins on date rangesA normalized SCD Type 2 dimension maintains historical changes by inserting a new row for each attribute modification, tracking validity intervals using start (valid_from) and end (valid_to) timestamps. Fact queries correlate events by joining on dimension identifiers and evaluating date range conditions (fact.order_timestamp BETWEEN dim.valid_from AND dim.valid_to).
BETWEEN or range inequalities) much less efficiently than equi-joins, often requiring broad record evaluation and significant data shuffling across compute slots.The scenario explicitly required maintaining a single shared, highly normalized dimension table across multiple heterogeneous systems where data denormalization into fact tables was strictly prohibited.
A Third Normal Form (3NF) schema decomposes data into granular, normalized tables to eliminate redundancy. Reconstructing point-in-time historical data requires processing transactional audit/change logs using recursive Common Table Expressions (CTEs) or window functions at query time.
The database engine was an OLTP transactional system (such as Cloud SQL or Spanner) with strict write-time normalization requirements and low data volumes.
STRUCT fields to preserve entity relationships and capture point-in-time historical state without runtime joinsDenormalization in BigQuery involves flattening relational star and snowflake schemas by embedding related dimension attributes directly into fact records at event creation time. By utilizing nested and repeated fields (STRUCT and ARRAY types), BigQuery allows complex hierarchical relationships to be preserved within a single table, eliminating the need for relational normalization and multi-table joins.
JOIN operations across separate dimension tables.STRUCT fields minimizes data shuffling across BigQuery slot workers, optimizing execution speed and reducing query slot consumption on massive datasets.BETWEEN valid_from AND valid_to) that degrade analytical query performance at scale.STRUCT fields maintain clean logical groupings of attributes (e.g., customer.address, customer.sales_rep) rather than polluting the table namespace.Traditional relational data warehouses rely on normalized SCD Type 2 tables with surrogate keys. In modern columnar data warehouses like BigQuery, denormalizing dimensional state at transaction time—supported by nested fields—is the architectural best practice for maximizing read throughput, reducing billing costs, and preserving historical fidelity.
Answer them yourself and get your score the moment you finish. No account needed.
Full access includes
Keep the momentum going with these hand-picked practice scenarios
Last updated Validated