W kolejnym wpisie o repozytoriach danych zamieszczam obszerne fragmenty tekstu dr. Wernera Vogelsa, CTO Amazon.com, w którym wyjaśnia jak rozwiązywać wyzwania związane z big data za pomocą data lakes na przykładzie rozwiązań zastosowanych przez Amazona.

Jak przypomina, w czasach, gdy Jeff Bezos realizował pierwsze zamówienia w swoim garażu i sam zawoził paczki na pocztę, liczenie kosztów, monitorowanie zapasów i prognozowanie przyszłego popytu było stosunkowo proste. Po upływie 25 lat, działalność detaliczna Amazona obejmuje ponad 175 centrów realizacji zamówień  na całym świecie, w których pracuje ponad 250 tys. pełnoetatowych pracowników wysyłających miliony produktów dziennie.

Wyzwania, przed którymi stanął Amazon w związku z analityką big data, są podobne do tych, z którymi boryka się wiele innych firm: silosy danych, trudności w analizie różnorodnych zbiorów danych, kontrola i bezpieczeństwo danych oraz włączenie uczenia maszynowego (ML – machine learning), zaznacza dr Vogels.

Przy stale rosnącej skali działalności Amazona petabajty danych wymagają przetwarzania i analiz. W ciągu ostatniej dekady wiele obciążeń w handlu detalicznym Amazona zostało przeniesionych do platform AWS (Amazon Web Services). Przed dwoma laty gigant postanowił zbudować repozytorium danych (ang. data lake), znane wewnętrznie jako Galaxy. W sierpniu 2019 r. AWS udostępnił usługę o nazwie AWS Lake Formation, która pomaga zbierać i katalogować dane z baz danych i pamięci obiektowych, i przenosić dane do nowego repozytorium Amazon S3, czyścić i klasyfikować dane za pomocą algorytmów uczenia maszynowego oraz zabezpieczać dostęp do wrażliwych danych. Galaxy data lake jest krytycznym elementem większej platformy big data.

Jak przypomina Werner Vogels, data lake to scentralizowane, bezpieczne repozytorium, które pozwala na przechowywanie, zarządzanie, odkrywanie i udostępnianie wszystkich ustrukturyzowanych i nieustrukturyzowanych danych w dowolnej skali. Co istotne, data lakes nie wymagają wstępnie zdefiniowanego schematu, dzięki czemu można przetwarzać surowe dane bez konieczności uprzedniego posiadania wiedzy na temat tego, jakiego rodzaju spostrzeżenia płynące z nich mogą być przydatne w przyszłości.

Burzenie silosów priorytetem

Jednym z głównych powodów, dla których firmy decydują się na tworzenie data lakes, jest burzenie silosów danych. Posiadanie obszarów danych w różnych miejscach, kontrolowanych przez różne grupy, z natury rzeczy powoduje brak przejrzystości danych. Dzieje się tak często, gdy firma szybko się rozwija czy też nabywa nowe przedsiębiorstwa. W przypadku Amazona było to jedno i drugie.

W celu ekspansji międzynarodowej i szybkiego tworzenia nowych programów wysyłkowych, większość zespołów planowania operacyjnego posiada kontrolę nad własnymi danymi i technologią. W rezultacie, dane są przechowywane w różnych miejscach i w różny sposób. Takie podejście pozwala na lokalne rozwiązywanie problemów, reagowanie na potrzeby klientów i szybsze wprowadzanie innowacji. Trudniej jest jednak nadać sens tym danym na poziomie całej organizacji i firmy – wymaga to manualnego zbierania danych z wielu różnych źródeł.

Trudno jest również uzyskać szczegółowe informacje z danych, ponieważ nie każdy ma dostęp do różnych repozytoriów danych. W przypadku mniejszych zapytań, można udostępnić wycinek danych w arkuszu kalkulacyjnym. Problemy pojawiają się, gdy dane przekraczają pojemność arkusza kalkulacyjnego (co zdarza się często w większych firmach). W niektórych przypadkach można udostępnić streszczenie danych na wyższym poziomie, natomiast wtedy nie otrzymamy pełnego obrazu sytuacji. CTO Amazona przekonuje, że data lake rozwiązuje te problemy, łącząc wszystkie dane w jednym, centralnym miejscu.

Analizowanie różnorodnych zbiorów danych

Kolejnym wyzwaniem związanym z wykorzystaniem różnych systemów i podejść do zarządzania danymi jest fakt, że struktury danych i informacje różnią się między sobą. Nawet programy wysyłkowe różnią się w skali międzynarodowej. Na przykład, różne kraje czasami mają odmienne rozmiary i kształty pudełek. Rośnie również ilość nieustrukturyzowanych danych pochodzących z urządzeń Internetu Rzeczy (IoT), np. czujników na maszynach w centrach realizacji zamówień.

Co więcej, różne systemy mogą również posiadać ten sam typ informacji, ale jest on inaczej oznaczany. Na przykład w Europie używa się terminu „koszt na jednostkę”, a w Ameryce Północnej „koszt na opakowanie”. Formaty dat dla tych dwóch terminów są różne. W takim przypadku należy powiązać obie etykiety, aby osoby analizujące dane wiedziały, że odnoszą się one do tej samej rzeczy.

Gdyby chcieć połączyć wszystkie te dane w tradycyjnej hurtowni danych bez data lake, wymagałoby to wielu czynności związanych z przygotowaniem danych oraz eksportem, transformacją i ładowaniem.

Data lakes pozwalają na import dowolnej ilości danych w dowolnym formacie, ponieważ nie ma predefiniowanego schematu. Można nawet pobierać dane w czasie rzeczywistym, zbierać je z wielu źródeł i przenosić do data lake w ich oryginalnym formacie. Można również budować powiązania pomiędzy informacjami, które mogą być różnie oznakowane, a reprezentują to samo. Przeniesienie wszystkich danych do data lake poprawia również możliwości tradycyjnej hurtowni danych. Można elastycznie przechowywać wysoko ustrukturyzowane, często używane dane w hurtowni danych, a jednocześnie przechowywać nawet eksabajty ustrukturyzowanych, częściowo lub nieustrukturyzowanych danych w magazynie w data lake.

(źr. AWS)

Zarządzanie dostępem do danych

Przy danych przechowywanych w tak wielu miejscach, trudno jest zarówno uzyskać dostęp do nich wszystkich, jak i połączyć je z zewnętrznymi narzędziami do analizy.

Dzięki data lake łatwiej jest dotrzeć z poprawnymi danymi do odpowiednich osób we właściwym czasie. Zamiast zarządzać dostępem do różnych lokalizacji, w których przechowywane są dane, trzeba myśleć tylko o jednym zestawie poświadczeń. Data lakes posiadają mechanizmy kontrolne, które pozwalają autoryzowanym użytkownikom widzieć, uzyskiwać dostęp, przetwarzać i/lub modyfikować określone zasoby. Data lakes pomagają zapewnić, że nieupoważnieni użytkownicy są zablokowani przed podejmowaniem działań, które mogłyby zagrozić poufności i bezpieczeństwu danych.

W przypadku data lakes dane są przechowywane w otwartym formacie, co ułatwia pracę z różnymi usługami analitycznymi. Otwarty format zwiększa również prawdopodobieństwo, że dane będą docelowo kompatybilne z narzędziami, które jeszcze nie istnieją.

Przyspieszenie uczenia maszynowego

Data lake stanowi solidny fundament dla mechanizmów uczenia maszynowego (ML) i sztucznej inteligencji (AI), ponieważ rozwijają się one na dużych, zróżnicowanych zbiorach danych, podkreśla dr Werner Vogels. ML wykorzystuje algorytmy statystyczne, które uczą się na podstawie istniejących danych (proces zwany treningiem), aby podejmować decyzje dotyczące nowych danych (proces zwany wnioskowaniem). Podczas szkolenia identyfikowane są wzorce i zależności między danymi w celu zbudowania modelu, który z kolei pozwala na podejmowanie inteligentnych decyzji na podstawie danych, z którymi nie miał wcześniej do czynienia. Im więcej danych znajduje się w posiadaniu, tym lepiej można trenować swoje modele ML, co skutkuje zwiększoną dokładnością.

Im dokładniejsza jest prognoza, tym lepiej. Zbyt niskie lub zbyt wysokie szacunki mogą mieć negatywne konsekwencje, które wpłyną na klientów i wyniki finansowe. Uczenie maszynowe może pomóc w  precyzyjniejszym  prognozowaniu. W zeszłym roku, zespół finansowy Amazon przeprowadził test. Podzbiór własnych prognoz z tradycyjnego, manualnego procesu zestawiono z usługą Amazon Forecast, która wykorzystuje uczenie maszynowe do dostarczania bardzo dokładnych prognoz. W tej próbie, prognozy wykonane przez Amazon Forecast były średnio o 67 proc. dokładniejsze niż te wykonane w ramach manualnego procesu.

Dzięki przeniesieniu wszystkich danych do data lake, zespół finansowy firmy Amazon może łączyć zestawy danych w celu testowania i wdrażania bardziej precyzyjnych modeli. Trening modeli ML z lepiej dobranymi danymi zwiększa dokładność prognozowania.

Dzięki przechowywaniu danych w ujednoliconym repozytorium w otwartych formatach danych, data lakes pozwalają na burzenie silosów, wykorzystanie różnorodnych usług analitycznych w celu uzyskania jak największej ilości informacji z danych oraz efektywne kosztowo zwiększanie potrzeb w zakresie przechowywania i przetwarzania danych w czasie, podsumowuje Vogels.

(Grafika tytułowa – źr. AWS)

Napisane przez Stefan Kaczmarek