Snowflake to platforma danych, która oparta jest na chmurze. Umożliwia to dużą elastyczność oraz przede wszystkim bezpieczeństwo w udostępnianiu danych. Narzędzie łączy moc hurtowni danych (data warehouse), elastyczność platform big data oraz chmury. Rozwiązania w Snowflake są bezobsługowe, co oznacza, że nie wymagają administrowania. Pozwalają na tworzenie wirtualnych hurtowni danych, które odpowiadają na potrzeby użytkowników.
Które podejście do pracy z danymi wybrać: data warehouse, czy data lake?
Naszym narzędziem do pracy z danymi w chmurze jest Snowflake. Więcej informacji odnośnie Snowflake możecie znaleźć na stronie: Snowflake. My skupimy się na podejściu do gromadzenia danych, a nie samym narzędziu. Najpierw warto będzie osobno potraktować oba podejścia.
Data warehouse – klasyczne podejście, czy przeżytek?
Data warehouse to rozwiązanie, które polega na zebraniu danych i połączeniu ich w jednym miejscu. Integrujemy dane z odrębnych systemów, a następnie łączymy je w logiczną całość. Tak powstaje model danych. Uporządkowane dane odzwierciedlają reguły firmy i strukturę jej działania. To podejście ma swoje wady. Podczas pracy on premise dochodzimy do momentu, kiedy infrastruktura nie radzi sobie z ilością danych, a procesy zaczynają zwalniać. Dodatkowe optymalizacje na pewnym etapie nie będą już przynosiły rezultatów. Innym problemem jest odpowiedni sposób modelowania danych i łączenie ich w całość. Proces wymaga dokładności i czasu, a w dodatku jest skomplikowany i kosztowny. Utworzony model może się również okazać mało elastyczny, przez co analiza danych będzie bardziej złożona i trudna.
Data lake – jezioro surowych danych.
Data lake to repozytorium, w którym przechowywane są nieprzetworzone dane w oryginalnym formacie. Możemy trzymać tutaj dane różnego typu – zarówno dane ustrukturyzowane, jak i te które nie mają żadnej struktury. W odróżnieniu od data warehouse, nie ma tutaj sztywnych relacji. Analitycy mogą tworzyć zapytania bezpośrednio na surowych danych. Daje to większą swobodę tworzenia zapytań, a to wszystko przez brak modelowania danych. Rozwiązanie jest stosunkowo mało kosztowne, gdyż nie wymaga skomplikowanych procesów ETL. Wszystkie dane znajdują się w jednym miejscu. Są również wady tego rozwiązania. Jedną z nich jest utrzymanie danych dobrej jakości. Łączenie danych wymaga większego trudu. Duża różnorodność typów danych utrudnia tworzenie systemów zarządzania, przez co utrudniony jest również system monitorowania.
Co wybrać? Czyli, co różni oba podejścia?
- Dane.
W hurtowniach danych możemy przechowywać dane wyłącznie z określonych źródeł. Są to na przykład dane CRM, czy ERP. Źródła danych typu: dane tekstowe, czy logi ze stron internetowych są zbyt kosztowne w przechowywaniu i zarządzaniu, dlatego są ignorowane. Zanim dane trafią do hurtowni danych muszą zostać uporządkowane, oczyszczone i zagregowane.
Data lake zbiera wszystkie rodzaje danych – również te, które hurtownia danych ignoruje jak na przykład aktywności w mediach społecznościowych obrazy i logi ze stron www. Dane nie muszą być uporządkowane – przechowywane są w postaci nieprzetworzonej. Koszt przechowywania danych jest mniejszy, niż w przypadku data warehouse, gdyż dane ulokowane są w pamięci dysku serwera, a nie w pamięci RAM.
- Przechowywanie.
Zanim nasze dane trafią do hurtowni danych muszą zostać odpowiednio przygotowane. Zajmuje to dużo więcej czasu, niż w przypadku nieprzetworzonych danych. Dodatkowo już na samym początku pracy z danymi musimy poddać analizie wybrane źródła i określić, czy będą one przydatne, aby wysnuć wnioski z tych danych.
Data lake umożliwia przechowanie danych w formie surowej i nieustrukturyzowanej. Nie ma ograniczeń dotyczących typów danych, a ich koszt przechowania jest niższy.
- Adaptacja.
W hurtowniach danych analityk musi używać konkretnych zapytań. W przypadku zmiany zapytań lub chęci dostępu do większej ilości danych zaczynają się pojawiać pewne problemy (na przykład zwolnione tempo pracy).
Jeżeli chcemy mieć natychmiastowy dostęp do danych oraz możliwość udostępniania ich innym użytkownikom, wybierzmy podejście data lake.
Data warehouse + data lake = data lakehouse.
Data lakehouse to nowe rozwiązanie, które ma na celu połączenie zalet obu podejść. To rozwiązanie jest już obecnie używane przez Snowflake. Możemy równolegle przetwarzać dane przy użyciu technologii Big Data. Mamy bezpośredni dostęp do danych, które możemy przetwarzać strumieniowo.
Co zatem wybrać?
Wybór zależy od naszych potrzeb oraz od struktury danych jakie chcemy przechowywać. Dla nieustrukturyzowanych danych o niestandardowej strukturze lepiej będzie zaimplementować data lake. Natomiast jeśli nasze potrzeby analizy nie są zbyt skomplikowane, dane jesteśmy w stanie uporządkować a do tego mamy określone źródła – możemy wybrać hurtownie danych. Warto jednak przed podjęciem decyzji skonsultować wybór ze specjalistami, który doradzą najlepsze podejście do pracy z danymi i ocenią, którą technologię najlepiej zaimplementować. Polecamy kontakt z firmami, które traktują dane w ujęciu całości tematu, czyli od danych, przez narzędzia wspomagające ich proces pozyskania, aż po narzędzia Business Intelligence. Zapraszamy do kontaktu z NewDataLabS.