🎯 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:

  1. Warstwa przechowywania (Storage): AWS S3, MinIO, Azure Blob.
  2. Warstwa obliczeniowa (Compute): Apache Spark, Trino, Presto, które potrafią czytać dane bezpośrednio z plików rozproszonych.
  3. 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ść.

📌 Źródła