Google PDE: Pozyskiwanie, integracja i migracja 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.
Schemat, walidacja i jakość danych na brzegu systemu
- Mapowanie schematów i konwersja typów: Standaryzuj wcześnie do schematów silnie typowanych. Avro lub Parquet zachowują schemat i umożliwiają jego czystą ewolucję. W BigQuery preferuj tabele partycjonowane i klastrowane, aby zmniejszyć koszt skanowania. Przykład: tworzenie tabeli partycjonowanej do codziennej analizy
undefined
- Obsługa niepoprawnie sformatowanych rekordów: Przekierowuj odrzucone rekordy do kolejki „dead-letter” (Pub/Sub) lub do zasobnika kwarantanny w Cloud Storage. Używaj wyjść bocznych (side outputs) w Dataflow lub kolektorów błędów w Data Fusion. Loguj błędy parsowania wraz z przykładowymi danymi (payload) i wersjami schematu w celu analizy.
- Walidacja: Przeprowadzaj kontrole brzegowe przed utrwaleniem danych:
- Strukturalna: zgodność ze schematem, wymagane pola, typy danych, domeny typów wyliczeniowych (enum).
- Referencyjna: istnienie kluczy obcych poprzez sprawdzanie w buforowanych tabelach wymiarów.
- Wiarygodność: zakresy dla znaczników czasu, geostrefy, wartości nieujemne.
- Unikalność: kolizje kluczy głównych lub złożonych.
- Idempotentne ładowanie: Używaj kluczy deterministycznych i operacji typu upsert. W BigQuery zaimplementuj operację MERGE z naturalnym lub surogatowym kluczem zmiany. Przykład:
undefined
- Znaki wodne (watermarking) i opóźnienia: W potokach strumieniowych skonfiguruj znaki wodne oparte na czasie zdarzenia (event-time) i dozwolone opóźnienie, aby zrównoważyć kompletność danych i opóźnienie (latency). Późne dane są kierowane na ścieżki korygujące lub wyzwalają uzupełnianie danych (backfills).
- Uzgadnianie: Śledź liczbę wierszy i sumy kontrolne dla każdej partycji/okna od źródła do ujścia (sink). Przechwytuj pozycje z logów CDC (LSN/SCN) i znaczniki czasu zatwierdzenia (commit); przechowuj je w tabeli kontrolnej, aby udowodnić ciągłość i identyfikować luki.
Łączność, niezawodność i operacje
Łączność sieciowa i dostęp prywatny:
- Hybrydowa: Użyj Cloud VPN lub Dedicated/Partner Interconnect do zapewnienia prywatnej łączności. Włącz Private Google Access lub Private Service Connect, aby uzyskać prywatny dostęp do interfejsów API Google, takich jak Cloud Storage.
- Bezpieczeństwo: Używaj kont serwisowych (service accounts) do tożsamości obciążeń, zasady najmniejszych uprawnień (least-privilege) w IAM, VPC Service Controls do zapobiegania eksfiltracji danych oraz CMEK tam, gdzie jest to wymagane.
- Przepustowość: Skaluj równoległość po stronie klienta, ale ostatecznie to przepustowość łącza (bandwidth) decyduje o przepustowości (throughput). W przypadku masowych transferów preferuj Transfer Appliance do początkowego, hurtowego transferu, a następnie STS lub CDC do aktualizacji przyrostowych.
Punkty kontrolne (checkpoints) i mechanizm przeciwciśnienia (backpressure): Dataflow zarządza punktami kontrolnymi i autoskalowaniem; projektuj ujścia (sinks), które mogą absorbować nagłe wzrosty obciążenia (buforowanie do Cloud Storage, wsadowe zapisy do BigQuery). Dla Pub/Sub dostosuj kontrolę przepływu (flow control) i terminy potwierdzeń (ack deadlines), aby zapobiec lawinom ponownego dostarczania wiadomości.
Kolejność i spójność z CDC:
- Datastream zachowuje kolejność wewnątrz transakcji i emituje metadane zatwierdzenia (commit); konsumenci odtwarzają kolejność dla danego klucza, używając znaczników czasu zatwierdzenia. Oczekuj semantyki „co najmniej raz” (at-least-once); zapewnij idempotentność.
- DMS zapewnia spójność bazy danych podczas migracji (snapshot i cutover replikacji) przy użyciu natywnych logów. Używaj replik do odczytu (read replicas) lub strategii podwójnego zapisu (dual-write) do etapowego przełączania.
Strategia plików dla analityki: Dla dostępu z wielu silników do dużych zbiorów danych, przechowuj dane kanoniczne w Cloud Storage i, jeśli jest to opłacalne, udostępniaj je jako stałe tabele zewnętrzne (external tables) do zapytań ad hoc. Dla analityki produkcyjnej ładuj dane do partycjonowanych tabel BigQuery, aby zminimalizować koszt skanowania na zapytanie.
Optymalizacja małych plików: Grupuj małe pliki (np. ~1000 w jednym archiwum tar) przed transferem, a następnie rozpakuj je w chmurze. Używaj równoległego gsutil i reguł cyklu życia (lifecycle rules) do przenoszenia do tańszych warstw i wygaszania artefaktów tymczasowych (staging artifacts).
Pułapki operacyjne i sposoby ich ograniczania:
- Dryf schematu z SaaS: włącz ewolucję schematu w Data Fusion i wymuszaj kompatybilność. Ustawiaj alerty na zmiany powodujące niekompatybilność (breaking changes).
- Strefy czasowe i kodowanie: normalizuj do UTC i UTF-8 na wejściu (ingress).
- Luki w CDC: monitoruj retencję logów źródłowych; ustawiaj alerty, gdy opóźnienie repliki (replica lag) zbliża się do limitów retencji.
- Limity (quotas): wstawianie strumieniowe do BigQuery, limity zapytań API; przetwarzaj wsadowo, gdy zbliżasz się do limitów.
Przełączenie, wypełnianie danych historycznych i weryfikacja
- Planowanie przełączenia:
- Big bang: krótkie zamrożenie, pojedyncze przełączenie. Najniższa złożoność operacyjna; najwyższe ryzyko w przypadku konieczności wycofania zmian (rollback).
- Fazowe lub blue/green: równoległe działanie z lustrzanym zapisem, progresywne przenoszenie ruchu i odczyty w tle (shadow reads). Wyższy koszt; bezpieczniejsze wycofywanie zmian.
- Wypełnianie danych historycznych (backfill):
- Przeprowadź początkowe ładowanie masowe (Transfer Appliance lub STS) przy użyciu formatu Avro/Parquet, aby zachować schemat. Partycjonuj i klasteryzuj podczas ładowania, aby uniknąć poprawek.
- Uruchom CDC od znanej pozycji w logu równocześnie z tworzeniem migawki (snapshot), aby przechwycić zmiany (delty) podczas transferu masowego. Uzgodnij dane we wspólnym znaku wodnym (watermark) przed udostępnieniem do użytku produkcyjnego.
- Wycofywanie zmian (Rollback):
- Utrzymuj starszy system w trybie tylko do odczytu podczas weryfikacji. W scenariuszach podwójnego zapisu, ukryj zapisy za flagą funkcyjną (feature flag), aby umożliwić szybkie wycofanie. Zachowaj spójny punkt kontrolny (checkpoint), aby w razie potrzeby móc odtworzyć lub cofnąć zmiany z CDC.
- Weryfikacja migracji:
- Strukturalna: zgodność liczby wierszy i sum kontrolnych dla poszczególnych partycji; równoważność schematu i ograniczeń (constraints).
- Czasowa: brak luk od momentu utworzenia migawki do przełączenia; ciągłość pozycji CDC.
- Równoważność biznesowa: porównywanie agregatów i wskaźników KPI w określonych oknach czasowych; uruchamianie zapytań akceptacyjnych.
- Wydajność: walidacja przepustowości pozyskiwania danych, opóźnień zapytań i kosztów w odniesieniu do budżetów.
Praktyczny scenariusz problemowy
Firma Northstar Retail musi skonsolidować globalną mieszankę lokalnych (on-prem) systemów transakcyjnych Oracle i MySQL, zdarzeń z CRM (SaaS) oraz codziennych plików CSV w Google Cloud, aby zasilać analitykę i uczenie maszynowe w czasie zbliżonym do rzeczywistego. Muszą również zmigrować starszy klaster Hadoop bez ponoszenia wysokich kosztów za pamięć blokową i osiągnąć przełączenie z zerowym lub bardzo krótkim czasem przestoju.
- Ustanowienie bezpiecznej łączności hybrydowej
- Użyj Partner Interconnect dla głównej przepustowości i Cloud VPN jako połączenia zapasowego. Włącz Private Google Access, aby obciążenia on-prem mogły uzyskiwać prywatny dostęp do Cloud Storage i Pub/Sub. Uzasadnienie: Prywatne ścieżki minimalizują ryzyko związane z ruchem wychodzącym (egress) i opóźnienia, a Private Google Access eliminuje wymóg posiadania publicznych adresów IP, spełniając jednocześnie polityki bezpieczeństwa.
- Efektywne zasilenie danymi historycznymi
- Dla 800 TB danych historycznych z HDFS, skopiuj je do Cloud Storage za pomocą Transfer Appliance (początkowe ładowanie masowe). Po wstępnym zasileniu, uruchamiaj codziennie Storage Transfer Service z lokalnego eksportu NFS, aby pobierać zmiany aż do momentu przełączenia. Uzasadnienie: Transfer Appliance pozwala uniknąć długotrwałego nasycenia sieci; STS zapewnia zaplanowaną, inkrementalną synchronizację z weryfikacją sum kontrolnych. Przechowywanie danych w Cloud Storage z użyciem konektora GCS pozwala na przetwarzanie w Dataproc bez konieczności przydzielania 50 TB Persistent Disk na każdy węzeł.
- Migracja operacyjnych baz danych z CDC
- Użyj DMS do migracji MySQL i PostgreSQL z minimalnym czasem przestoju. Do migracji CDC z Oracle do celów analitycznych, użyj Datastream do lądowania danych w Cloud Storage, a następnie szablonu Dataflow dostarczonego przez Google, aby załadować je do BigQuery. Uzasadnienie: DMS wykorzystuje natywną replikację do niezawodnej migracji typu migawka + ciągła synchronizacja; Datastream zapewnia bezserwerowe CDC z metadanymi o zatwierdzeniach (commit), podczas gdy szablon Dataflow gwarantuje uporządkowane, idempotentne zapisy do BigQuery.
- Pozyskiwanie danych z SaaS i plików
- Zbuduj potoki (pipelines) w Cloud Data Fusion, używając konektorów SaaS dla zdarzeń z CRM z tokenami inkrementalnymi, oraz potok plikowy do pozyskiwania codziennych plików CSV z serwera SFTP dostawcy za pośrednictwem STS. Normalizuj dane do formatu Avro w dedykowanym buckecie Cloud Storage, a następnie ładuj do partycjonowanych tabel BigQuery. Uzasadnienie: Data Fusion centralizuje konektory, transformacje i śledzenie pochodzenia danych (lineage). Standaryzacja na formacie Avro zachowuje schemat i ułatwia jego ewolucję; partycjonowane tabele BigQuery redukują koszt zapytań.
- Strumieniowanie zdarzeń w czasie rzeczywistym
- Publikuj zdarzenia z aplikacji webowych i sklepów do Pub/Sub. Przetwarzaj je za pomocą Dataflow w celu parsowania, walidacji, wzbogacania i dodawania znaków wodnych (watermarking); zapisuj do BigQuery przez Storage Write API i archiwizuj surowe dane w formacie Avro w Cloud Storage. Uzasadnienie: Pub/Sub oddziela producentów od konsumentów; Dataflow zapewnia automatyczne skalowanie, przetwarzanie stanowe, punkty kontrolne i obsługę opóźnionych danych; podwójny zapis zapewnia zarówno analitykę o niskim opóźnieniu, jak i trwałe przechowywanie surowych danych.
- Wymuszanie jakości danych i kontroli schematu na brzegu systemu
- Zaimplementuj rejestr schematów i walidację w Dataflow/Data Fusion. Przekierowuj nieprawidłowo sformatowane rekordy do bucketa kwarantanny w GCS i tematu dead-letter w Pub/Sub. Stosuj walidacje domenowe (np. kody walut, znaczniki czasu UTC) i deduplikuj dane przy użyciu kluczy złożonych. Uzasadnienie: Wczesne odrzucanie i kwarantanna zapobiegają propagacji błędnych danych; idempotencja i deduplikacja chronią przed co najmniej jednokrotnym dostarczeniem danych ze źródeł CDC i strumieniowych.
- Optymalizacja przechowywania i dostępu do danych analitycznych
- Ładuj przygotowane zbiory danych do partycjonowanych i klasteryzowanych tabel BigQuery. Udostępniaj surowe archiwa jako stałe tabele zewnętrzne (external tables) do rzadko wykonywanych analiz. Dla obciążeń OLTP, które pozostają transakcyjne, zachowaj Cloud SQL z replikami do odczytu. Uzasadnienie: Partycjonowanie i klastrowanie minimalizują koszt skanowania danych; tabele zewnętrzne pozwalają uniknąć niepotrzebnego ładowania danych w celu sporadycznego dostępu; Cloud SQL zachowuje semantykę ACID dla aplikacji transakcyjnych.
- Planowanie przełączenia, wypełniania danych historycznych i wycofywania zmian
- Wykonaj migawkę + CDC dla każdego systemu RDBMS; osiągnij punkt uzgodnienia, w którym zgadzają się liczby wierszy i sumy kontrolne. Uruchom wdrożenie blue/green z podwójnym zapisem na 48 godzin, stopniowo przenosząc odczyty do BigQuery. Utrzymuj flagę funkcyjną, aby cofnąć zapisy w przypadku wykrycia rozbieżności. Uzasadnienie: Wdrożenie blue/green redukuje ryzyko; weryfikacja w znanym punkcie (watermark) zapewnia kompletność danych; flagi funkcyjne umożliwiają szybkie wycofanie zmian.
- Weryfikacja i obserwowalność
- Zbuduj tabele kontrolne przechowujące LSN/SCN źródła, znaczniki czasu zatwierdzenia (commit), liczbę wierszy i sumy kontrolne dla każdej partycji. Monitoruj opóźnienie w Datastream, stan replikacji DMS, znaki wodne w Dataflow, zaległości w Pub/Sub, status zadań STS oraz metryki wstawiania strumieniowego w BigQuery. Uzasadnienie: Kompleksowe śledzenie pochodzenia danych (lineage) i kontrole ilościowe dostarczają audytowalnego dowodu poprawności oraz umożliwiają szybkie alarmowanie o lukach lub opóźnieniach.
Dzięki rozdzieleniu warstw lądowania danych (landing), ich przygotowania (curation) i udostępniania (serving); użyciu Cloud Storage jako trwałego, taniego obszaru przejściowego (staging) i archiwum; wykorzystaniu DMS/Datastream do CDC z idempotentnymi konsumentami; oraz wymuszaniu schematu i jakości na wejściu, firma Northstar Retail osiąga bezpieczne, skalowalne pozyskiwanie danych oraz weryfikowalną migrację o niskim ryzyku i przewidywalnych kosztach.
← Spark · Wszystkie domeny · Orkiestracja przepływów pracy i automatyzacja potoków →
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 →