
Wzorce ETL / ELT / ETLT
ETL vs ELT vs ETLT, batch vs micro-batch vs streaming, idempotencja, obsługa błędów, dead letter queues, jakość danych, lineage
1Jaka jest główna różnica między ETL a ELT?
Jaka jest główna różnica między ETL a ELT?
Odpowiedź
W ETL (Extract-Transform-Load) dane są transformowane na serwerze pośrednim przed załadowaniem do miejsca docelowego. W ELT (Extract-Load-Transform) surowe dane są najpierw ładowane do miejsca docelowego (zazwyczaj cloud data warehouse), a następnie transformowane bezpośrednio w nim przy użyciu jego mocy obliczeniowej. ELT stał się popularny z chmurowymi data warehouse'ami jak BigQuery, Snowflake czy Redshift, które oferują elastyczną moc obliczeniową.
2Jaka jest główna zaleta podejścia ELT w porównaniu z tradycyjnym ETL?
Jaka jest główna zaleta podejścia ELT w porównaniu z tradycyjnym ETL?
Odpowiedź
Podejście ELT wykorzystuje elastyczną moc obliczeniową nowoczesnych chmurowych data warehouse'ów (BigQuery, Snowflake, Redshift). Zamiast utrzymywać oddzielną infrastrukturę transformacji, która może stać się wąskim gardłem, transformacje bezpośrednio wykorzystują możliwości skalowania data warehouse. Zmniejsza to złożoność operacyjną i umożliwia przetwarzanie znacznie większych wolumenów danych bez ręcznego provisioningu zasobów.
3Czym jest wzorzec ETLT i kiedy jest istotny?
Czym jest wzorzec ETLT i kiedy jest istotny?
Odpowiedź
ETLT łączy oba podejścia: pierwsza lekka transformacja jest wykonywana podczas ekstrakcji (czyszczenie, filtrowanie, anonimizacja), następnie dane są ładowane, a bardziej złożone transformacje są stosowane w data warehouse. Ten wzorzec jest przydatny, gdy określone transformacje muszą być wykonane wcześniej z powodów compliance (maskowanie wrażliwych danych przed załadowaniem), redukcji wolumenu (wczesne filtrowanie) lub normalizacji heterogenicznych formatów źródłowych.
Czym jest idempotencja w kontekście pipeline'ów danych?
Jak zaimplementować idempotencję podczas ładowania danych do tabeli?
+17 pytań z rozmów
Inne tematy rekrutacyjne Data Engineering
Linux & Shell - Podstawy
Git & GitHub - Podstawy
Zaawansowany Python dla Data Engineering
Docker - Podstawy
Google Cloud Platform - Podstawy
CI/CD i jakość kodu
Docker Compose
FastAPI - API danych
Zaawansowany SQL dla Data Engineering
Data Lake - Architektura i wprowadzanie danych
BigQuery dla Data Engineering
PostgreSQL - Administracja
Data Modeling dla Data Engineering
Fivetran & Airbyte - Pozyskiwanie danych
dbt - Podstawy
Apache Airflow - Podstawy
Kubernetes - Podstawy
dbt - Zaawansowane funkcje
Apache Airflow - Zaawansowany
Airflow + dbt - Orkiestracja pipeline'ów
PySpark - Przetwarzanie na dużą skalę
Google Pub/Sub - Streaming danych
Apache Beam & Dataflow
Kubernetes - Produkcja i skalowanie
Terraform - Infrastructure as Code
Bazy danych NoSQL
Nowoczesna Data Architecture
Monitorowanie i obserwowalność
IAM i bezpieczeństwo danych
Opanuj Data Engineering na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo