🎯 Definicja
Cykl Życia Inżynierii Danych to kompleksowy proces zarządzania danymi od momentu ich powstania do momentu ich zużycia (przez analityków, AI lub aplikacje). Obejmuje 5 głównych etapów: Generowanie, Pobieranie (Ingestion), Przechowywanie (Storage), Przetwarzanie (Transformation) i Udostępnianie (Serving). Wszystko to spinają klamry: Zarządzanie (Governance), Jakość (DQ) i Obserwowalność (Observability).
🔑 Kluczowe punkty
- Nie jest liniowy: To często pętla. Dane wynikowe z jednego procesu stają się źródłem dla kolejnego.
- Undercurrents: Joe Reis (autor “Fundamentals of Data Engineering”) definiuje “prądy podskórne”, które muszą działać na każdym etapie: Security, Data Management, DataOps, Data Architecture, Software Engineering, Orchestration.
- Cel: Celem nie jest “posiadanie danych”, tylko “dostarczenie wartości” na końcu cyklu (Serving).
📚 Szczegółowe wyjaśnienie
- Ingestion: Pobranie danych. Batch (raz dziennie) vs Streaming (real-time). Narzędzia: Fivetran, Airbyte, Kafka.
- Storage: Gdzie to trzymamy? Data Lake (S3), Data Warehouse (Snowflake), Lakehouse.
- Transformation: Robienie sensu z surowych danych. Czyszczenie, łączenie, agregacja. Narzędzia: dbt, Spark, SQL.
- Serving: Wystawienie danych dla odbiorcy. Dashboard (BI), API (Reverse ETL), Feature Store (ML).
💡 Przykład zastosowania
Aplikacja Uber.
- Generation: Aplikacja generuje zdarzenie “Zamówiono przejazd”.
- Ingestion: Kafka przesyła zdarzenie w czasie rzeczywistym.
- Storage: Dane lądują w Data Lake (archiwum) i w bazie operacyjnej (bieżące).
- Transformation: System oblicza cenę dynamiczną (Surge Pricing) na podstawie popytu.
- Serving: Aplikacja kierowcy dostaje powiadomienie z ceną. Analityk dostaje raport dobowy.
📌 Źródła
- Joe Reis & Matt Housley, “Fundamentals of Data Engineering”.
👽 Brudnopis
- Garbage In, Garbage Out (GIGO) - jeśli Ingestion wpuści śmieci, Serving wypluje śmieci. Dlatego Data Quality jest kluczowe na wejściu.
- FinOps - inżynier musi dbać o koszty chmury na każdym etapie (szczególnie Storage i Compute podczas transformacji).