Design a BigQuery data model for telecom sales (customers, products, subscriptions) that is updated monthly, must retain full history for current and historical reporting, and should be simple and cost-effective. What do you do?
Choose an answer
Tap an option to check your answer.
Correct answer: Create a denormalized, append-only schema using nested and repeated fields and use the ingestion timestamp to track history..
Why this is the answer
The correct approach is to create a denormalized, append-only schema using nested and repeated fields and leverage the ingestion timestamp for history. BigQuery performs best with denormalized data, and nested/repeated fields efficiently store related data within a single record, reducing joins and improving query performance and cost. An append-only model simplifies updates (no complex UPDATE statements) and inherently retains full history by adding new records for changes, with the ingestion timestamp serving as a natural historical marker. A normalized schema with snapshots (first option) adds complexity for history tracking and is less performant in BigQuery due to frequent joins. Keeping input files in Cloud Storage (second option) is a data lake strategy, not a BigQuery data model, and doesn't directly solve the history tracking within BigQuery itself. Updating a denormalized table in-place with snapshots (third option) is less efficient than append-only for history and can be more complex to manage.
Pass your exam — without the endless answer hunt
Get every verified question and explanation for this exam in one place, and save hours of prep. 1,000+ certifications · 20+ languages · free to start.
Pass your exam faster → No card needed