Google PDE: Analityka BigQuery i inżynieria hurtowni danych — Przewodnik do nauki

Część Google Professional Data Engineer — Przewodnik do nauki. Ćwicz ze zweryfikowanymi odpowiedziami w centrum egzaminów Google, albo rozwiąż testy na czas na ExamRoll.io.

Przegląd

BigQuery to bezserwerowa, kolumnowa hurtownia analityczna MPP, która oddziela warstwę przechowywania danych od warstwy obliczeniowej, zapewniając niemal nieskończoną skalowalność, zgodność z ANSI SQL oraz zintegrowane zarządzanie (governance). Inżynieria hurtowni danych w BigQuery polega na równoważeniu projektowania schematu (partycjonowanie, klastrowanie, denormalizacja vs normalizacja, zagnieżdżone rekordy), wzorców pozyskiwania danych (ładowanie wsadowe, strumieniowanie, Storage Write API) oraz zarządzania obciążeniem (edycje on-demand vs oparte na pojemności i rezerwacje). Solidne zabezpieczenia (autoryzowane widoki, polityki na poziomie wierszy/kolumn, tagi polityk) współistnieją z narzędziami do kontroli kosztów i wydajności, aby minimalizować liczbę skanowanych bajtów i zmniejszać opóźnienia. Ta sekcja omawia kluczowe aspekty projektowania, operacji i trybów awarii, które należy przewidzieć w środowisku produkcyjnym.

Przechowywanie i semantyka: zbiory danych, tabele, widoki i dostęp do data lake

Optymalizacja zapytań i zarządzanie obciążeniem

undefined

Pozyskiwanie danych (ingestion), federacja i odzyskiwanie

undefined

Bezpieczeństwo, nadzór i kontrola kosztów

undefined

i

undefined

. Przechowuj cechy w tabelach partycjonowanych i używaj zaplanowanego ponownego trenowania.

Praktyczny scenariusz problemu

NovaCare Health prowadzi regionalną platformę telemedyczną. Projekt oparty na jednej tabeli patient_and_visit sprawdzał się w fazie pilotażowej, ale przy 100-krotnym wzroście skali raporty przekraczają limit czasu, pojawiają się duplikaty z operacji upsert w strumieniowaniu, a partnerzy wymagają ścisłej izolacji danych.

Podejście:

  1. Przeprojektowanie schematu i układu

    • Utwórz znormalizowane tabele podstawowe: patients(patient_id, demographics, updated_at) i visits(visit_id, patient_id, visit_ts, metrics, updated_at).
    • Ustaw visits jako tabelę partycjonowaną według DATE(visit_ts) i klastrowaną według patient_id oraz visit_id. Małe wymiary referencyjne pozostaw zdenormalizowane w tabeli visits, aby przyspieszyć działanie pulpitów nawigacyjnych.
    • Uzasadnienie: Normalizacja pozwala uniknąć kosztownych self-joinów i ciężkich aktualizacji wierszy w jednej, mocno obciążonej tabeli. Partycjonowanie przycina skanowanie danych historycznych; klastrowanie współlokuje złączenia i filtry po patient_id, redukując operację shuffle.
  2. Pozyskiwanie danych za pomocą Storage Write API i wymuszanie idempotentności

    • Użyj potoku Dataflow do parsowania przychodzących zdarzeń, ich walidacji i zapisu do nazwanych strumieni w Storage Write API z idempotentnymi offsetami.
    • Przekierowuj niepoprawnie sformatowane zdarzenia do tabeli BigQuery typu dead-letter w celu analizy.
    • Uzasadnienie: Storage Write API zapewnia wyższą przepustowość, niższe opóźnienia i lepsze gwarancje deduplikacji niż starsze metody strumieniowania. Mechanizm dead-lettering pozwala zachować wgląd w problemy z jakością danych od partnerów.
  3. Projektowanie z myślą o świeżości i deduplikacji w zapytaniach

    • W przypadku analityki interaktywnej, dodaj krótki znak wodny (watermark) (np. 2× obserwowanej dostępności) przed odpytaniem najnowszej partycji; lub filtruj po _PARTITIONDATE, gdzie partition_date <= CURRENT_DATE(), aby wykluczyć wiersze w trakcie przetwarzania.
    • Użyj ROW_NUMBER() OVER (PARTITION BY visit_id ORDER BY event_ts DESC) = 1 w widokach, które muszą tolerować ponowienia na wcześniejszych etapach.
    • Uzasadnienie: Strumieniowanie jest ostatecznie spójne przez krótki czas. Watermarking i deduplikacja oparta na oknach chronią pulpity nawigacyjne przed przejściowymi lukami i duplikatami.
  4. Przyspieszanie popularnych agregacji za pomocą zmaterializowanych widoków

    • Utwórz zmaterializowane widoki (MV) wyrównane do partycji nad tabelą visits dla dziennych wskaźników KPI grupowanych według DATE(visit_ts) i kohort pacjentów. Upewnij się, że predykaty są kompatybilne z mechanizmem przepisywania zapytań.
    • Uzasadnienie: MV redukują opóźnienia i liczbę skanowanych bajtów dla cyklicznych raportów; BigQuery w sposób przezroczysty przepisuje zapytania, aby korzystały z MV.
  5. Wymuszanie izolacji dzierżawców i szczegółowych zabezpieczeń

    • Umieść każdego partnera w dedykowanym zbiorze danych. Nadaj grupom partnerskim role na poziomie zbioru danych z najmniejszymi uprawnieniami.
    • Publikuj autoryzowane widoki dla współdzielonych, międzypartnerskich benchmarków bez ujawniania surowych tabel.
    • Zastosuj tagi polityk do kolumn z danymi osobowymi (PII) i dodaj polityki dostępu do wierszy w tabeli visits, aby ograniczyć dostęp według partner_id na potrzeby wewnętrznej analityki wielodostępowej (multi-tenant).
    • Uzasadnienie: Segmentacja typu „zbiór danych na dzierżawcę” w połączeniu z autoryzowanymi widokami i tagami polityk wymusza zasadę najmniejszych uprawnień, jednocześnie umożliwiając kontrolowane udostępnianie.
  6. Zarządzanie obciążeniami za pomocą edycji, rezerwacji i autoskalowania

    • Zakup moc obliczeniową w ramach edycji BigQuery i utwórz dwie rezerwacje: etl (ujścia Dataflow, zaplanowane transformacje) i bi (zapytania ad hoc/raportowanie). Przypisz odpowiednio projekty i włącz autoskalowanie, aby absorbować szczyty obciążenia.
    • Planuj zapytania ELT jako zadania wsadowe (batch) z jasnymi umowami SLA; ustaw maximum_bytes_billed dla projektów interaktywnych.
    • Uzasadnienie: Oddzielne rezerwacje zapobiegają „głodzeniu” systemów BI przez procesy ETL. Autoskalowanie obsługuje obciążenia szczytowe bez nadmiarowego alokowania zasobów.
  7. Nadzorowanie kosztów i obserwowanie użycia

    • Wymagaj filtrów na visit_ts; odrzucaj zapytania SELECT * we współdzielonych widokach. Użyj INFORMATION_SCHEMA.JOBS, aby wykrywać nieskrócone skanowania i złączenia z nierównomiernym rozkładem danych (skewed joins).
    • Eksportuj logi audytowe BigQuery do Pub/Sub za pomocą ujścia logów (log sink) przefiltrowanego do zadań insert na tabeli visits, aby wyzwalać alerty monitorujące nieoczekiwane wzrosty.
    • Uzasadnienie: Przycinanie bajtów (byte-pruning) i projekcja kolumn kontrolują koszty; logi audytowe ujawniają wzorce dostępu i anomalie w czasie zbliżonym do rzeczywistego.
  8. Planowanie odzyskiwania i uzupełniania danych

    • Włącz domyślne polityki wygasania tabel, które są zgodne z wymogami zgodności i potrzebami funkcji time travel. W przypadku dużych edycji, utwórz migawkę, uruchom zmiany i w razie potrzeby szybko je wycofaj. Używaj klonów tabel do analiz typu „co-jeśli” w środowiskach deweloperskich/testowych bez duplikowania danych.
    • Uzasadnienie: Migawki i klony zapewniają szybkie i wydajne pod względem miejsca siatki bezpieczeństwa; funkcja time travel obejmuje małe przywracania naprawcze.
  9. Integracja ML wewnątrz hurtowni

    • Przechowuj przygotowane cechy (engineered features) w tabelach partycjonowanych i trenuj modele klasyfikacyjne BigQuery ML do oceny ryzyka ponownej hospitalizacji. Dla modeli zewnętrznych hostowanych na Vertex AI, utwórz modele zdalne i buforuj predykcje w tabeli klastrowanej, aby uzyskać złączenia o niskim opóźnieniu.
    • Uzasadnienie: Utrzymywanie ML blisko danych redukuje ich przemieszczanie i złożoność nadzoru; buforowanie zdalnej inferencji amortyzuje opóźnienia i koszty.

Dzięki temu projektowi NovaCare osiąga przewidywalną wydajność przy 100-krotnym obciążeniu, silną izolację dzierżawców i kontrolowane koszty, zachowując jednocześnie analitykę o niskim opóźnieniu i odtwarzalne mechanizmy odzyskiwania danych.


Przechowywanie danych · Wszystkie domeny · Przetwarzanie strumieniowe z Dataflow i Apache Beam

Przećwicz te pytania → · Testy na czas na 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.

Zdaj egzamin →

Przeglądaj Google →

Related guides

Dostęp all-in-one

Jedna subskrypcja. Każdy egzamin.

Każdy plan odblokowuje nieograniczone wyszukiwanie odpowiedzi, testy praktyczne, wyjaśnienia AI i pełną bibliotekę zasobów — w ponad 20 językach.

Miesięczny
24.87
Just €0.83/day
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

Najlepsza wartość
12 miesięcy
179.87
Just €0.49/daySave 40%
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

✓ Plan darmowy w zestawie · ✓ Anuluj w dowolnym momencie · ✓ Wszystkie plany odblokowują pełny produkt