🎯 Definicja

Data Lake to skalowalne, elastyczne repozytorium danych służące do przechowywania masowych ilości danych w oryginalnym, niesformatowanym (tzw. surowym) stanie — zarówno strukturalnych, półstrukturalnych, jak i niestrukturalnych. W odróżnieniu od klasycznych hurtowni danych (Data Warehouse), dane w Data Lake trafiają bez zdefiniowanego celu analitycznego, co umożliwia ich późniejsze przetwarzanie, transformację i analizę w różnych kontekstach biznesowych.

🔑 Kluczowe punkty

  • Przechowuje dane w dowolnym formacie: CSV, JSON, XML, obrazy, logi, dokumenty, pliki binarne — zarówno strukturalne, jak i niestrukturalne.
  • Zasada “najpierw przechowuj, potem modeluj” (schema-on-read): dane ładowane są bez wstępnej transformacji; transformacja następuje dopiero na etapie analizy.
  • Zbudowane na systemach rozproszonych — np. Hadoop HDFS, Amazon S3, Azure Data Lake Storage.
  • Obsługuje różne cele: analityka, przetwarzanie strumieniowe (streaming), uczenie maszynowe, analiza logów, integracja danych w czasie rzeczywistym.
  • Niska cena przechowywania dużych wolumenów danych.

📚 Szczegółowe wyjaśnienie

Główne cechy Data Lake

CechaOpis
Typy danychStrukturalne, półstrukturalne, niestrukturalne
Format przechowywaniaSurowy (raw); bez obowiązkowego schematu
IntegracjaW pełni integruje się z hurtowniami danych, systemami AI/ML, BI
KosztyStosunkowo niskie względem klasycznych baz danych
Struktura dostępuMożliwa analiza ad hoc, ELT, przetwarzanie wsadowe lub w czasie rzeczywistym
SkalowalnośćPraktycznie nieograniczona w chmurze i systemach distributed

Typowe komponenty Data Lake

  • Storage layer (np. Amazon S3, Azure Data Lake Storage Gen2, HDFS)
  • Ingestion layer (np. Kafka, Flume, Nifi)
  • Catalog/Metadata layer (np. Apache Hive, AWS Glue, DataHub)
  • Processing layer (np. Apache Spark, Flink, Presto, Athena)
  • Access/Consumption layer (np. Jupyter, SQL clients, BI Tools)

Przykłady zastosowania

  • Utrwalanie surowych danych aplikacyjnych i systemowych do późniejszej analizy (np. logi ze stron internetowych)
  • Integracja danych z wielu źródeł (IoT, kliknięcia, media społecznościowe, CRM)
  • Data Science i uczenie maszynowe — Data Lake to elastyczne źródło danych do feature engineering
  • Audyt i compliance — przechowywanie nieprzetworzonych danych pozwala na ich ponowne wykorzystanie bez utraty kontekstu

Data Lake vs Data Warehouse

CechyData LakeData Warehouse
SchematSchemat przy odczycie (schema-on-read)Schemat przy zapisie (schema-on-write)
Typ danychDowolne (strukturalne i nie)Głównie strukturalne
KosztyNiski koszt przechowywaniaWyższe koszty przechowywania
Cel przechowywaniaMożliwe przyszłe wykorzystanieKonkretne raportowanie / zapytania biznesowe
Wydajność zapytańNiższa, wymaga optymalizacjiWysoka (przy dobrze zdefiniowanym schemacie)
Najlepsze zastosowanieAI/ML, eksploracja danychBI, raportowanie operacyjne

💡 Wskazówka praktyczna

Data Lake jest często używane jako „warstwa brudna” (raw layer) w nowoczesnych platformach typu Data Lakehouse lub Modern Data Stack, w których dane są najpierw przechowywane w niestrukturalnej formie, a następnie przekształcane i ładowane do hurtowni danych lub poddawane analizie modelami ML.

📌 Źródła

👽 Brudnopis

  • Data Lake jako pierwszy punkt kontaktu danych — ingest → storage → processing
  • Format: Avro, Parquet, JSON, CSV, logi, binaria
  • Analityka AI/ML: LLM zasilane przez wektorowe wyszukiwanie w Data Lake
  • Proces ETL/ELT może startować z Data Lake
  • Zasada działania: write once, read many — dane czasem nigdy nie są w pełni przetwarzane, ale muszą być dostępne
  • Lądują tam dane z API, IoT, clickstream, SAP, media, DB i plików Excel