Definicja i charakterystyka
Data lake to architektura przechowywania danych, w której gromadzone są zasoby w formacie natywnym — bez wstępnej transformacji ani narzucania struktury. Termin ten upowszechnił się w branży analitycznej jako odpowiedź na ograniczenia tradycyjnych hurtowni danych, które wymagały kosztownego i czasochłonnego modelowania przed załadowaniem nowych źródeł.
Kluczową cechą odróżniającą data lake od hurtowni danych jest podejście do schematu. W data lake stosuje się zasadę schema-on-read — schemat jest definiowany w momencie odczytu, nie zapisu. Pozwala to na elastyczne przechowywanie danych ustrukturyzowanych, półustrukturyzowanych i nieustrukturyzowanych w jednym repozytorium.
Articles published on this website summarize publicly available information, industry research and educational materials.
Architektura warstwowa
Nowoczesne implementacje data lake opierają się na architekturze warstwowej, gdzie dane przepływają przez kolejne etapy przetwarzania. Każda warstwa ma określony poziom przetworzenia i jakości danych.
Infrastruktura fizyczna data lake zazwyczaj opiera się na rozproszonych systemach przechowywania — HDFS (Hadoop Distributed File System) w środowiskach on-premise lub object storage w chmurze (Amazon S3, Azure Data Lake Storage, Google Cloud Storage). Nad warstwą przechowywania znajdują się silniki obliczeniowe i warstwy katalogowania metadanych.
Strefy danych (Bronze / Silver / Gold)
Wzorzec stref medalionowych (Medallion Architecture) dzieli dane na trzy warstwy o rosnącym stopniu przetworzenia:
| Strefa | Nazwa alternatywna | Stan danych | Cel |
|---|---|---|---|
| Bronze | Raw / Landing | Surowy, niezmieniony | Archiwizacja źródłowa |
| Silver | Cleansed / Refined | Oczyszczony, ujednolicony | Analiza eksploracyjna |
| Gold | Curated / Business | Zagregowany, modelowany | Raportowanie i ML |
Strefa Bronze zawiera dane w dokładnie takiej postaci, w jakiej zostały przyjęte ze źródła. Żadne modyfikacje nie są dozwolone — jest to strefa archiwalna. Strefa Silver zawiera dane po podstawowym oczyszczeniu: usunięciu duplikatów, standaryzacji formatów dat, ujednoliceniu nazw kolumn. Strefa Gold zawiera dane gotowe do bezpośredniego użycia przez narzędzia BI lub modele uczenia maszynowego.
Formaty plików
Wybór formatu pliku ma istotny wpływ na wydajność odczytu i koszt przechowywania w data lake:
| Format | Typ | Kompresja | Optymalizacja | Typowe użycie |
|---|---|---|---|---|
| CSV/JSON | Wierszowy | Opcjonalna | Brak | Strefa Bronze, dane wejściowe |
| Parquet | Kolumnowy | Wbudowana | Zapytania analityczne | Strefy Silver/Gold |
| ORC | Kolumnowy | Wbudowana | Hive, Spark | Strefy Silver/Gold (Hadoop) |
| Avro | Wierszowy | Wbudowana | Serializacja | Streaming, Kafka |
| Delta/Iceberg | Kolumnowy + log | Wbudowana | ACID, time travel | Data Lakehouse |
Porównanie z data warehouse
Data lake i data warehouse nie są rozwiązaniami konkurencyjnymi — w dojrzałych architekturach analitycznych pełnią komplementarne role. Data lake służy jako warstwa gromadzenia i eksploracji, podczas gdy data warehouse jest zoptymalizowany pod kątem raportowania operacyjnego i zapytań OLAP.
Zastosowania praktyczne
Data lake szczególnie dobrze sprawdza się w następujących scenariuszach:
- Gromadzenie danych z heterogenicznych źródeł (bazy relacyjne, logi, IoT, API)
- Przechowywanie danych historycznych przed decyzją o ich strukturyzacji
- Trenowanie modeli uczenia maszynowego na surowych danych
- Eksploracyjna analiza danych przez analityków i data scientists
- Archiwizacja danych regulacyjnych w formacie niezmutowanym