Google PDE: BigQuery Analytics en Warehouse Engineering — Studiegids

Onderdeel van de Google Professional Data Engineer — Studiegids. Oefen met geverifieerde antwoorden in het Google-examencentrum, of doe getimede oefentests op ExamRoll.io.

Overzicht

BigQuery is een serverless, kolommengebaseerd, MPP analytics warehouse dat opslag en compute scheidt, en zo bijna oneindige schaalbaarheid, ANSI SQL en geïntegreerde governance biedt. Warehouse engineering op BigQuery balanceert schemaontwerp (partitionering, clustering, denormalisatie vs. normalisatie, geneste records), ingestiepatronen (batch-ladingen, streaming, Storage Write API) en workloadbeheer (on-demand vs. op capaciteit gebaseerde edities en reserveringen). Robuuste beveiliging (authorized views, row/column policies, policy tags) bestaat naast kostenbeheersing en performance-tooling om het aantal gescande bytes te minimaliseren en de latentie te verlagen. Dit gedeelte behandelt de kernaspecten van ontwerp, operaties en faalscenario’s waarop u in productie moet anticiperen.

Opslag en Semantiek: Datasets, Tabellen, Views en Lake-toegang

Query-optimalisatie en Workloadbeheer

undefined

Ingestie, Federatie en Herstel

undefined

Beveiliging, Governance en Kostenbeheersing

Praktijkscenario

NovaCare Health beheert een regionaal telegeneeskundeplatform. Een ontwerp met een enkele tabel, patient_and_visit, was voldoende voor een pilot, maar bij 100x schaal krijgen rapporten een time-out, verschijnen er duplicaten door streaming upserts en vereisen partners strikte data-isolatie.

Aanpak:

  1. Herontwerp het schema en de lay-out

    • Creëer genormaliseerde kerntabellen: patients(patient_id, demographics, updated_at) en visits(visit_id, patient_id, visit_ts, metrics, updated_at).
    • Maak van visits een gepartitioneerde tabel op DATE(visit_ts), geclusterd op patient_id en visit_id. Houd kleine referentiedimensies gedenormaliseerd in de visits-tabel voor snellere dashboards.
    • Reden: Normalisatie voorkomt dure self-joins en zware rij-updates op één enkele ‘hot’ tabel. Partitionering snoeit in historische scans; clustering plaatst joins en filters op patient_id bij elkaar, wat ‘shuffle’ vermindert.
  2. Ingestie met de Storage Write API en afdwingen van idempotentie

    • Gebruik een Dataflow-pipeline om inkomende events te parsen, te valideren en naar benoemde streams in de Storage Write API te schrijven met idempotente offsets.
    • Routeer foutief geformatteerde events naar een ‘dead-letter’ BigQuery-tabel voor triage.
    • Reden: De Storage Write API biedt een hogere doorvoersnelheid, lagere latentie en betere garanties voor ontdubbeling dan de verouderde streaming-methode. Het gebruik van een dead-letter-tabel behoudt het inzicht in datakwaliteitsproblemen bij partners.
  3. Ontwerp voor actualiteit en ontdubbeling in query’s

    • Voeg voor interactieve analyses een korte ‘watermark’ toe (bijvoorbeeld 2x de geobserveerde beschikbaarheid) voordat de laatste partitie wordt bevraagd; of filter op _PARTITIONDATE waar partition_date <= CURRENT_DATE() om rijen die nog binnenkomen uit te sluiten.
    • Gebruik ROW_NUMBER() OVER (PARTITION BY visit_id ORDER BY event_ts DESC) = 1 in views die bestand moeten zijn tegen retries van upstream systemen.
    • Reden: Streaming is ’eventually consistent’ gedurende een kort interval. Watermarking en ontdubbeling op basis van window-functies beschermen dashboards tegen tijdelijke hiaten en duplicaten.
  4. Versnel veelvoorkomende aggregaties met materialized views

    • Creëer op partities uitgelijnde MV’s over de visits-tabel voor dagelijkse KPI’s, gegroepeerd op DATE(visit_ts) en patiëntcohorten. Zorg ervoor dat de predicaten compatibel zijn met ‘rewrite’.
    • Reden: MV’s verminderen de latentie en het aantal gescande bytes voor terugkerende rapporten; BigQuery herschrijft query’s transparant om de MV te gebruiken.
  5. Dwing tenant-isolatie en fijnmazige beveiliging af

    • Plaats elke partner in een eigen, dedicated dataset. Wijs ’least-privilege’ rollen op datasetniveau toe aan partnergroepen.
    • Publiceer geautoriseerde views voor gedeelde, partner-overstijgende benchmarks zonder de ruwe tabellen bloot te geven.
    • Pas policy tags toe op PII-kolommen en voeg ‘row access policies’ toe aan de visits-tabel om de toegang te beperken op basis van partner_id voor interne multi-tenant analyses.
    • Reden: Segmentatie per tenant op datasetniveau, gecombineerd met geautoriseerde views en policy tags, dwingt ’least privilege’ af en maakt tegelijkertijd beheerde datadeling mogelijk.
  6. Beheer workloads met edities, reserveringen en autoscaling

    • Koop capaciteit in via BigQuery-edities en creëer twee reserveringen: etl (Dataflow sinks, geplande transformaties) en bi (ad hoc/rapportage). Wijs projecten dienovereenkomstig toe en schakel autoscaling in om pieken op te vangen.
    • Plan ELT-query’s als batch met duidelijke SLA’s; stel maximum_bytes_billed in voor interactieve projecten.
    • Reden: Aparte reserveringen voorkomen dat ETL de BI-workloads verdringt. Autoscaling vangt piekbelastingen op zonder overprovisioning.
  7. Beheer de kosten en observeer het gebruik

    • Vereis filters op visit_ts; wijs SELECT * af in gedeelde views. Gebruik INFORMATION_SCHEMA.JOBS om niet-geprunede scans en ‘skewed joins’ te detecteren.
    • Exporteer BigQuery-auditlogs naar Pub/Sub met een ’log sink’ die filtert op ‘insert jobs’ op de visits-tabel om monitoring-alerts te triggeren bij onverwachte pieken.
    • Reden: Kostenbeheersing door ‘byte-pruning’ en kolomprojectie; auditlogs maken toegangspatronen en afwijkingen bijna in real-time zichtbaar.
  8. Plan herstel en backfills

    • Schakel standaard beleidsregels voor tabelverloop in die aansluiten bij compliance-eisen en de behoefte aan ’time-travel’. Maak voor grote bewerkingen een snapshot, voer de wijzigingen door en rol indien nodig snel terug. Gebruik tabelklonen voor dev/test what-if-analyses zonder opslag te dupliceren.
    • Reden: Snapshots en klonen bieden snelle, ruimte-efficiënte vangnetten; ’time-travel’ dekt kleine, corrigerende herstelacties.
  9. Integreer in-warehouse ML

    • Sla ’engineered features’ op in gepartitioneerde tabellen en train BigQuery ML-classificatiemodellen voor het risico op heropname. Voor externe modellen die op Vertex AI worden gehost, creëer je remote models en cache je de voorspellingen in een geclusterde tabel voor joins met lage latentie.
    • Reden: Door ML dicht bij de data te houden, wordt dataverplaatsing en de complexiteit van governance verminderd; het cachen van remote inference amortiseert de latentie en kosten.

Met dit ontwerp bereikt NovaCare voorspelbare prestaties onder 100x belasting, sterke tenant-isolatie en beheerste kosten, terwijl low-latency analytics en reproduceerbaar herstel behouden blijven.


Dataopslag · Alle domeinen · Streamverwerking met Dataflow en Apache Beam

Oefen deze vragen → · Getimede oefening op ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Slaag voor je examen →

Blader door Google →

Related guides

Alles-in-één toegang

Eén abonnement. Elk examen.

Elk plan ontgrendelt onbeperkt zoeken naar antwoorden, oefentests, AI-uitleg en de volledige bronnenbibliotheek — in meer dan 20 talen.

Maandelijks
24.87
Just €0.83/day
Alles inbegrepen:
  • Onbeperkt zoeken naar antwoorden
  • Onbeperkte oefentests
  • AI-gestuurde uitleg
  • Volledige bronnenbibliotheek
  • 20+ talen
  • Wekelijkse contentupdates
  • Beloningen & verwijzingen
  • Prioriteitsondersteuning
Start gratis proefperiode

Geen creditcard vereist*

Beste waarde
12 maanden
179.87
Just €0.49/daySave 40%
Alles inbegrepen:
  • Onbeperkt zoeken naar antwoorden
  • Onbeperkte oefentests
  • AI-gestuurde uitleg
  • Volledige bronnenbibliotheek
  • 20+ talen
  • Wekelijkse contentupdates
  • Beloningen & verwijzingen
  • Prioriteitsondersteuning
Start gratis proefperiode

Geen creditcard vereist*

✓ Gratis plan inbegrepen · ✓ Annuleer op elk moment · ✓ Alle plannen ontgrendelen het volledige product