🎯 Definicja
Data Lake (Jezioro danych) to centralne repozytorium pamięci masowej, które umożliwia przechowywanie ogromnych ilości surowych, strukturyzowanych, półstrukturyzowanych (np. JSON, XML) oraz w pełni niestrukturyzowanych danych (np. obrazy, wideo, logi) w ich natywnym formacie, bez wcześniejszego narzucania schematu (Schema-on-Read).
🔑 Kluczowe punkty
- Schema-on-Read: Dane są zapisywane w postaci surowej, a ich schemat i struktura są definiowane dopiero w momencie czytania (zapytywania) danych, co daje ogromną elastyczność.
- Tani Storage: Oparty na tanich systemach przechowywania obiektów (Object Storage), takich jak AWS S3, Azure ADLS Gen2 lub on-premise HDFS.
- Data Swamp (Bagnisko danych): Ryzyko przekształcenia jeziora danych w nieużyteczny śmietnik plików z powodu braku metadanych, katalogowania oraz właściwego Data Governance.
- Formaty analityczne: Nowoczesne jeziora korzystają z wydajnych formatów kolumnowych (np. Apache Parquet, Apache Iceberg) w celu przyspieszenia odczytu.
📚 Szczegółowe wyjaśnienie
Klasyczne hurtownie danych (Data Warehouse) wymagają wcześniejszego zaprojektowania schematu (Schema-on-Write) i transformacji danych przed ich zapisem. Data Lake odrzuca te ograniczenia, realizując podejście ELT (Extract, Load, Transform) – ładujemy wszystko w stanie surowym, a transformację wykonujemy później.
Kluczowe technologie w ekosystemie Data Lake:
- Warstwa przechowywania (Storage): AWS S3, MinIO, Azure Blob.
- Warstwa obliczeniowa (Compute): Apache Spark, Trino, Presto, które potrafią czytać dane bezpośrednio z plików rozproszonych.
- Formaty tabelaryczne: Delta Lake, Iceberg – wprowadzające obsługę transakcji ACID oraz wersjonowanie danych bezpośrednio na tanim storage’u, co tworzy architekturę Data Lakehouse.
💡 Przykład zastosowania
Firma telekomunikacyjna gromadzi miliardy surowych logów z nadajników BTS (formaty tekstowe i JSON) bezpośrednio na AWS S3 (Data Lake).
- Analitycy biznesowi budują na ich podstawie raporty za pomocą Apache Spark.
- Inżynierowie data science trenują na tych samych surowych plikach modele uczenia maszynowego.
- Wszystkie te dane są skatalogowane w centralnym narzędziu typu Katalog Danych, aby stewardzi danych mogli kontrolować ich jakość.