Czy słonie pływają? Kilka słów o Data Lake

data lake

W poprzednim wpisie (Big Data to 3 słowa) wspomniałem z jakimi wyzwaniami mierzy się Big Data. Dotyczy to również architektury. Wykorzystywana wcześniej EDW (Enterprise Data Warehouse) nie pasuje do nowych standardów. Opracowano nową architekturę o bardzo obrazowej nazwie Data Lake (dosłownie Jezioro Danych). Wyobraź sobie te wszystkie górskie potoki (nazwa strumień danych nie wygląda na przypadkową), które spływają do jeziorka z którego wszyscy korzystają… ale najpierw przyjrzyjmy się co było nie tak w EDW.

Enterprise Data Warehouse – co jest nie tak?

Rolą EDW jest gromadzenie kluczowych danych m.in. z systemów transakcyjnych, magazynowych i CRM-ów, analiza tych danych i w rezultacie wsparcie w podejmowaniu decyzji dla biznesu (prościej: dostarczenie wartości).

Największym wyzwaniem tradycyjnego podejścia jest architektura schema-on-write. Wystarczy przypomnieć sobie relacyjną bazę SQL. Najpierw musimy zamodelować dane, następnie utworzyć tabele, dopiero wtedy możemy zasilić ją danymi. Dla każdych wpływających danych trzeba mieć plan ich wykorzystania. Proces ten jest kosztowny i ograniczający.

W końcu o Data Lake

Data Lake jest to miejsce do którego lądują wszystkie dane niezależnie od ich formatu i źródła. Może być to np. Hadoop/HDFS, S3 na AWS-ie lub Azure Data Lake Storage.

Podejście to wykorzystuje architekturę schema-on-read. Dane dostępne są w postaci surowej i użytkownicy decydują w jaki sposób chcą je odczytać. Brak z góry nałożonego modelu i standaryzacji umożliwia wykorzystanie wielu narzędzi do przetworzenia i analizy. Rezultatem może być utworzenie wielu modeli (w tym np. grafowy). Każdy z nich dostosowany pod konkretny przypadek użycia lub potrzebę biznesową.

Kolejnym atutem jest szeroka dostępność do danych. Unika się w ten sposób tzw silosów (data silos). Jest to sytuacja w której dane dostępne są tylko dla wydziału który odpowiedzialny jest za ich kontrole. Więcej osób może brać udział w etykietowaniu danych (metadane).

Od strony technicznej Data Lake powinien udostępniać współdzielone repozytorium danych (HDFS), zapewniać orkiestracje i harmonogramowanie zadań (YARN) oraz aplikacje do przetwarzania i konsumpcji tych danych.

W Data Lake można wyróżnić warstwy.. ale o tym w kolejnym wpisie.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *