Spis treści
- Co to jest Data Warehouse?
- Korzyści dla firmy płynące z posiadania hurtowni danych
- Data Warehouse – jak to działa? Architektura hurtowni danych
- Bazy danych a hurtownia danych – OLTP i OLAP – systemy przechowywania danych
- Jak działa hurtownia danych w chmurze
- Usługi GCP używane do budowy hurtowni danych w chmurze
- Hurtownia danych a jezioro danych – dane z różnych źródeł
- Dla kogo hurtownia, a dla kogo jezioro danych?
- Nagranie z meetupu „Biznes oparty na danych w chmurze”
Czy wiesz, jakie dane posiada Twoje przedsiębiorstwo? Jakie ślady cyfrowe zostawiają klienci serwisu internetowego? Co znajduje się w systemach CRM, firmowych arkuszach kalkulacyjnych, podpiętych do strony narzędziach analitycznych?
Zapewne wiesz. Idę o zakład, że Ty lub Twoi współpracownicy monitorujecie te dane, prowadzicie analizę i kierujecie się liczbami podczas podejmowania decyzji biznesowych. Ale prowadzicie analizę oddzielonych od siebie obszarów czy patrzycie na dane firmowe jako na pełną zależności całość?
Przykład. Firma retailowa jest obecna w kilku krajach europejskich. Posiada oddziały stacjonarnych, serwis e-commerce, klienci mogą robić też zakupy przez aplikację mobilną. Firma planuje wejść na nowy rynek. Chcąc opracować strategię uwzględniającą akcje, które sprawdziły się w innych krajach, dobrze byłoby zestawić dane z wielu baz – między innymi informacje o kosztach, sprzedaży stacjonarnej, sprzedaży online, dane o prowadzonych kampaniach marketingowych czy reakcjach użytkowników na akcje promocyjne. Manualna analiza każdego elementu z osobna zajmie dużo czasu, może też doprowadzić do wyciągnięcia niewłaściwych wniosków.
Te dane, pochodzące z różnych źródeł, można zestawić w jednym systemie – w hurtowni danych, która pozwoli przeprowadzić analizę w ciągu kilku minut i przedstawić wyniki dla użytkowników biznesowych na czytelnym dashboardzie.
Co to jest Data Warehouse?
Data Warehouse (hurtownia danych) to system analityczny, który umożliwia prowadzenie kompleksowej analizy danych pochodzących z różnych źródeł. Wspiera procesy Business Intelligence, które polegają na wydobywaniu spośród danych istotnych informacji potrzebnych do świadomego podejmowania decyzji biznesowych. System pobiera dane z różnych baz, oczyszcza i ujednolica. W hurtowni danych przechowywane są dane bieżące, jak też dane historyczne. Hurtownia nie ma wpływu na funkcjonowanie używanych systemów bazodanowych ani na treść danych – informacje są do warehouse ekstraktowane, a następnie dostępne tylko do wglądu (nie można poddać ich modyfikacji). Dane wykorzystuje się do generowania raportów czy tworzenia predykcji, a wyniki można przedstawić na graficznych wizualizacjach.
Korzyści dla firmy płynące z posiadania hurtowni danych
Wgląd w dane. Spojrzenie na dane z szerszej perspektywy pozwala wyszukać zależności pomiędzy obszarami oraz wytypować trendy dzięki analizie danych historycznych. Hurtownia pozwala też analizować wycinki danych i tworzyć szczegółowe raporty.
Możliwość prognozowania. Hurtownię danych można wykorzystać jako element systemu DSS (decision support system), w którym prowadzone są symulacje scenariuszy biznesowych z wykorzystaniem modeli Machine Learningu.
Centralizacja danych. Hurtownia pozwala zebrać w jednym miejscu wszystkie dane firmowe, dotychczas rozproszone pomiędzy wieloma bazami danych, zewnętrznymi systemami czy arkuszami kalkulacyjnymi.
Archiwizacja. W hurtowni danych przechowuje się dane najnowsze, jak też dane historyczne. Wydajny system analizy danych umożliwia przechowywanie petabajtów informacji.
Wydajność pracy. Pracownicy firmy posiadającej hurtownię danych mają wygodny, niemal natychmiastowy dostęp do aktualnych informacji ze swojego obszaru, jak również z innych działów. Skrócenie ścieżki dotarcia do informacji i możliwość wizualnej prezentacji danych pozwala sprawniej wykonywać codzienne zadania oraz wyszukiwać możliwości optymalizacji procesów.
Data Warehouse – jak to działa? Architektura hurtowni danych
Hurtownia danych składa się z czterech elementów:
- źródła danych,
- oprogramowania ELT,
- właściwej hurtowni,
- aplikacji analitycznych.
W pierwszej kolejności dane są pobierane z zewnętrznych źródeł. Informacje mogą być pobierane z relacyjnych lub nierelacyjnych baz danych, tematycznych hurtowni danych, Google Analytics, systemów operacyjnych (takich jak CRM czy ERP) czy firmowych arkuszy kalkulacyjnych.
Następnie są ujednolicane – przetwarzane, czyszczone, duplikaty usuwane, sprowadzane do tego samego formatu. Takie zintegrowane dane są przesyłane do właściwej hurtowni – aplikacji, która przechowuje dane i pozwala prowadzić analitykę. Ten proces pobierania, przetwarzania i przesyłania do hurtowni jest nazywany ETL – od angielskich nazw procesów extract, transform, load.
W hurtowni przechowywane są ujednolicone dane – zarówno bieżące, jak historyczne. To tutaj odbywa się analiza w odpowiedzi na zapytanie przesłane przez użytkownika.
Wyniki analizy mogą zostać następnie przedstawione za pomocą programów wizualizacji danych lub przesłane do aplikacji BI.
Bazy danych a hurtownia danych – OLTP i OLAP – systemy przechowywania danych
Czym różni się hurtownia danych od bazy danych? Te oba te koncepty to systemy przechowywania danych, to w praktyce pełnią zupełnie inne role. W dużym skrócie, bazy danych służą do szybkiego, bieżącego przetwarzania niewielkich wycinków danych, kiedy celem hurtowni jest prowadzenie kompleksowej analityki na podstawie ogromnych zbiorów informacji.
OLTP – on-line transactional processing
W przypadku baz danych mówimy o OLTP (on-line transactional processing) – rodzaju przetwarzania danych, który polega na jednoczesnym wykonywaniu wielu transakcji, na przykład w bankowości internetowej, portalach e-commerce czy serwisach rezerwacji online. Bazy danych posiadają informacje na temat konkretnego wycinka biznesu – na przykład na temat stanu produktów w sklepie internetowym. Na serwisie e-commerce codziennie zakupy robią setki, tysiące klientów – a baza danych otrzymuje setki czy tysiące zapytań i aktualizacji. W bazie danych przechowywane są najnowsze informacje, bo jej wydajność znacznie by spadła, gdyby system miał utrzymywać terabajty historycznych danych (kopię zapasową przechowuje się w innej lokalizacji). Środowiska OLTP dobrze przetwarzają duże ilości prostych zapytań, ale nie są zdolne do prowadzenia głębokiej analityki – są za to dobrym źródłem informacji, które jest w stanie przetworzyć hurtownia danych.
Przykłady zastosowań OLTP:
- serwis e-commerce tworzący zamówienie na sprzedany produkt,
- portal linii lotniczych prowadzący rezerwację online,
- system rejestracji pacjenta w szpitalu,
- bank dodający do rachunku transakcję wypłaty gotówki z bankomatu.
OLAP – on-line analytical processing
Hurtownia danych to system analityczny OLAP (on-line analytical processing). To środowisko, które, w odróżnieniu od OLTP, jest dedykowane obsłudze rzadszych, bardziej rozbudowanych zapytań na dużej ilości danych. Prędkość realizacji nie jest aż tak kluczowa, dlatego analiza danych prowadzona w hurtowni może zająć od kilku sekund do nawet kilku godzin. OLAP gromadzi dane z różnych źródeł i przetwarza je podczas procesu ELT. Przechowuje też dane historyczne w celu prowadzenia kompleksowej analizy i raportowania. Dane, które trafią do hurtowni nie mogą zostać poddane modyfikacji – są dostępne jedynie do wglądu.
Przykłady zastosowań OLAP:
- podział klientów na grupy z uwzględnieniem dotychczasowych interakcji z firmą w celu zapewnienia dopasowanych treści i promocji,
- analiza skuteczności działań marketingowych wśród poszczególnych grup odbiorców,
- przewidywanie prawdopodobieństwa rezygnacji z usług na podstawie danych o sprzedaży w ostatnich latach,
- analiza trendów, prognozowanie popytu i podaży w obszarze działalności firmy.
Jak działa hurtownia danych w chmurze
Hurtownię danych można zaprojektować i wdrożyć na własnej infrastrukturze, ale można też w chmurze publicznej, posługując się zestawem gotowych, skalowalnych i zarządzanych usług.
Hurtownię w chmurze można zbudować jako aplikację niemal bezobsługową, która samodzielnie ekstrahuje dane z różnych źródeł, ujednolica je i przygotowuje do analizy. Ponadto procesy rezerwowania zasobów, skalowania, aktualizacji czy optymalizacji wykonują się automatycznie. Nie ma konieczności ingerencji użytkownika, dzięki czemu czas, który pracownicy poświęciliby na utrzymanie systemu, mogą poświęcić na prowadzenie właściwej analizy. Hurtownię danych w chmurze można rozbudować też o usługi Machine Learning, by umożliwić prowadzenie predykcji czy symulacji scenariuszy biznesowych.
Dlaczego warto przeprowadzić migrację hurtowni danych na Google Cloud Platform?
- Chmura zapewnia większą zwinność i elastyczność. Dzisiejsze firmy muszą szybko dostrzegać potencjalne zagrożenia czy możliwości ulepszeń i wprowadzać zmiany w okamgnieniu. Muszą też zapewnić pracownikom środowisko sprzyjające efektywności, gdzie specjaliści mogą mieć nieskrępowany dostęp do potrzebnych informacji. Według obserwacji inżynierów Google Cloud, wśród wielu firm infrastruktura legacy obsługująca hurtownie danych osiąga średnio 95-100% pojemności, nie zostawiając tym samym przestrzeni na żadne ulepszenia, a wręcz dodatkowo obciążając zespół administratorów.
- Infrastruktura legacy wymaga dużych nakładów pracy, natomiast chmura jest niemal bezobsługowa. Jak twierdzi zespół Google Cloud, firmy, które posiadają hurtownię danych na własnej infrastrukturze przeznaczają jedynie ok. 15% czasu na prowadzenie właściwej analizy, ponieważ resztę czasu poświęcają na prace utrzymaniowe. W chmurze prace dotychczas wykonywane manualnie – ekstrakcja danych, ujednolicenie, rezerwacja zasobów, skalowanie, aktualizacje, optymalizacje – wykonują się automatycznie, bez konieczności ingerencji pracownika.
- Koszt chmury w dłuższym ujęciu jest niższy. Może się wydawać, że maszyny fizyczne są tańsze od uruchamianych na żądanie usług chmurowych; w dłuższej perspektywie jednak to chmura łączy się z mniejszymi kosztami oraz z wyższą wydajnością. Pod uwagę należy brać nie tylko sam koszt zakupu serwera czy minutę pracy usługi, ale TCO (total cost of ownership), czyli wszystkie koszty związane z utrzymaniem systemu – między innymi zakup licencji, koszty skalowania czy czas pracy administratorów. Według badań ESG organizacje, które przenoszą hurtownię danych z własnej infrastruktury do chmury Google, zyskują do 52% oszczędności TCO w skali trzech lat. Do braku kosztów utrzymania fizycznej infrastruktury czy prowadzenia prac konserwacyjnych można doliczyć też zniżki od firmy partnerskiej dostawcy usług chmurowych. FOTC, partner Google Cloud – jednej z wiodących chmur publicznych w kwestii zaawansowanej analityki – oferuje zniżki dla swoich klientów oraz możliwość pokrycia części kosztów budowy Proof of Concept hurtowni danych w chmurze.
- Hurtownia danych w chmurze zwraca wyniki niemal natychmiast. Kiedy tradycyjne hurtownie danych potrzebują godzin (a niekiedy dni), by wygenerować raport, usługi Google Cloud Platform bazują na najnowszych danych i pozwalają śledzić zmiany w czasie rzeczywistym. To dlatego, że dzięki mocy obliczeniowej GCP hurtownia danych w chmurze jest w stanie prowadzić jednocześnie wiele akcji – takich jak przetwarzanie wsadowe, przetwarzanie strumieniowe i obsługa zapytań wśród petabajtów danych. Na lokalnej infrastrukturze możemy napotkać ograniczenia sprzętowe, co przełoży się na niższą wydajność i dłuższy czas zwracania wyników.
- Usługi chmurowe są skalowalne i zapewniają wyższą dostępność niż infrastruktura on-premise. Poziom użycia usług chmurowych dopasowuje się automatycznie do aktualnego obciążenia. By wygenerować raport roczny, usługi analityczne GCP zeskalują się w górę, a po zakończeniu analizy wrócą do normalnego poziomu użycia (albo nawet do niższego, jeśli żądań do systemu nie będzie dużo). Skalowalność w ciągu sekund przekłada się też na wysoką dostępność, ponieważ infrastruktura chmurowa przeprowadzi analizę bez zająknięcia w sytuacjach, gdy lokalna infrastruktura mogłaby ulec przeciążeniu. Ponadto dostawcy usług chmurowych zobowiązują się do wypełnienia warunków umowy o dostępności usług. W przypadku narzędzi analitycznych Google Cloud Platform SLA wynosi 99,95-99,99%.
- Usługi hurtowni danych w chmurze Google posiadają wbudowane mechanizmy uczenia maszynowego, co umożliwia relatywnie łatwe i tanie prowadzenie predykcji i symulacji scenariuszy biznesowych. Przedsiębiorstwa korzystające z lokalnej hurtowni danych, jeśli chciały prowadzić predykcje, do budowy własnych modeli ML musiały delegować analityków i inżynierów. Ci nierzadko kopiowali dane i tworzyli odizolowane repozytoria do trenowania modeli, co prowadziło do duplikowania i decentralizacji informacji oraz dodatkowo obciążało infrastrukturę. Ponadto, jeśli infrastruktura nie była wystarczająco wydajna, nawet najlepiej zbudowany model uczenia maszynowego nie mógł rozwinąć w pełni swojego potencjału. Natomiast chmura, nie dość, że oferuje dużą moc obliczeniową, jej usługi analityczne posiadają wbudowane mechanizmy uczenia maszynowego, którymi można zarządzać z poziomu interfejsu SQL. Dzięki temu modele można tworzyć szybciej, mniejszym nakładem energii i bez konieczności duplikowania danych.
Usługi GCP używane do budowy hurtowni danych w chmurze
Na Google Cloud Platform składa się niemal 200 gotowych, zarządzanych usług. Wśród nich znajdują się te dedykowane prowadzeniu analizy, jak też usługi ogólnego przeznaczenia, o które można rozbudować hurtownię danych.
Cloud Storage
Cloud Storage to usługa magazynu chmurowego, w którym można przechowywać pliki o dowolny rozszerzeniu – dokumenty tekstowe, arkusze kalkulacyjne, eksporty z baz danych i inne. Pliki z Cloud Storage mogą być automatycznie pobierane przez usługi streamujące, ujednolicane i przesyłane do hurtowni w celu przeprowadzenia analizy.
Pub/Sub
Pub/Sub to usługa asynchronicznej komunikacji między usługami Google Cloud Platform. Usługa często jest używana do integrowania pipeline’ów pobierania i dystrybuowania danych oraz do strumieniowego przesyłania analiz.
Dataprep by Trifacta
Inteligentna usługa do eksplorowania danych ustrukturyzowanych i nieustrukturyzowanych, ich czyszczenia, ujednolicania i przygotowania do analizy lub procesów uczenia maszynowego.
Data Catalog
Data Catalog to usługa automatycznego katalogowania, tagowania i wyszukiwania danych oraz zarządzania metadanymi.
Dataflow
Dataflow to bezserwerowa usługa ujednoliconego przetwarzania danych strumieniowych (stream) i wsadowych (batch). Umożliwia tworzenie potoków (pipelines) i przesyłanie danych w czasie rzeczywistym. Usługa korzysta z open source’owego projektu Apache Beam.
Dataproc
Zarządzana i skalowalna usługa do uruchamiania Apache Spark, Apache Flink, Presto oraz ponad 30 innych narzędzi i frameworków open source’owych. Ponieważ Apache Spark jest uznawane za najszybsze narzędzie wspierające procesy ETL w hurtowni danych, Dataproc zapewnia wysoką wydajność przesyłu.
Cloud Data Fusion
Usługa no-code, która z poziomu graficznego interfejsu umożliwia szybkie i wygodne tworzenie potoków danych (data pipelines) dla oprogramowania ETL.
Cloud Composer
Cloud Composer to zarządzana usługa orkiestracji procesów workflow zbudowana na open source’owym projekcie Apache Airflow. Pozwala tworzyć, planować, monitorować i zarządzać procesami workflow z uwzględnieniem relacji i zależności.
BigQuery
BigQuery to bezserwerowa usługa właściwej hurtowni w systemie hurtowni danych. To narzędzie, w którym są przechowywane tera- czy petabajty ujednoliconych danych i w którym jest prowadzona analiza.
Cloud Life Sciences
Cloud Life Sciences (poprzednio Google Geomics) to usługa analityczna dedykowana naukom przyrodniczym. Pozwala w wydajny, bezpieczny i relatywnie niedrogi sposób przetwarzać dane biomedyczne na dużą skalę.
Google Data Studio
Google Data Studio to bezpłatna platforma wizualizacji danych, która umożliwia prezentowanie wyników analizy danych za pomocą graficznych dashboardów.
Looker
Looker to oprogramowanie business intelligence – platforma, która, obok wizualizacji danych na interaktywnych panelach, wspiera też prowadzenie analityki predykcyjnej.
Schemat przykładowej hurtowni danych w chmurze Google
Każdy system w chmurze jest budowany inaczej, w zależności od potrzeb przedsiębiorstwa, celu, ilości danych czy planów rozwojowych. W przeprowadzeniu analizy potrzeb, opracowaniu architektury oraz wdrożeniu hurtowni danych mogą pomóc certyfikowani inżynierowie chmurowi FOTC.
Wyżej znajduje się przykład struktury prostej hurtowni danych z użyciem niektórych opisanych wcześniej usług. Dane – w tym przypadku z usługi bazy danych w chmurze Cloud SQL, z magazynu chmurowego Cloud Storage oraz z zewnętrznego narzędzia Google Analytics – są przesyłane do usługi Dataprep, gdzie są poddawane czyszczeniu i ujednolicaniu. Stamtąd, dzięki usłudze Dataflow, dane są ładowane do właściwej hurtowni, BigQuery, w której jest prowadzona analiza. Wyniki następnie mogą zostać przesłane na graficzne dashboardy Data Studio lub na platformę Looker.
Hurtownia danych a jezioro danych – dane z różnych źródeł
Hurtownia danych (data warehouse) jest systemem analitycznym, który pozwala interpretować dane z określonych źródeł, przykładowo działów w organizacji (HR, CRM czy ERP). Zanim konkretne pliki trafią do właściwej usługi hurtowni danych są porządkowane, czyszczone i agregowane za pomocą narzędzi ETL (skrót od ang. extract, transform, load). Hurtownia danych przechowuje zarówno bieżące, jak i archiwalne dane.
Jezioro danych (data lake) to repozytorium, do którego trafiają surowe dane z różnych źródeł i nie są poddawane procesowi porządkowania. Nie ma praktycznie żadnych ograniczeń w zakresie rodzajów przechowywanych w nim informacji. W jeziorze danych można zatem przechowywać nieustrukturyzowane dane, które z różnych względów nie trafiły do hurtowni danych (np. dane z aplikacji mobilnych, pliki tekstowe, logi ze stron WWW czy odczyty czujników IoT).
Przetwarzanie ETL a ELT
W hurtowni danych stosuje się narzędzia typu ETL (Extract, Transform, Load) natomiast w jeziorach danych – narzędzia typu ELT (Extract, Load, Transform). Proces ETL zakłada najpierw pozyskanie danych ze źródła (extract), następnie ich przetworzenie (transform), a na końcu zapisanie we właściwej hurtowni danych (load).
W procesie ELT dane są najpierw pozyskiwane (extract), w kolejnym kroku dochodzi do ładowania danych w jeziorze (load), a dopiero na końcu poddaje się je przetwarzaniu (transform). Ostatni etap odbywa się już poza jeziorem danych, w zewnętrznej aplikacji służącej do zaawansowanej analizy danych.
Dla kogo hurtownia, a dla kogo jezioro danych?
Podstawowa różnica między hurtownią danych i jeziorem danych sprowadza się więc do zakresu przechowywanych danych: pierwsza usługa gromadzi je wyłącznie w formie uporządkowanej, ograniczając się do wybranych źródeł. Druga zaś może przechowywać dane ze wszystkich źródeł, niezależnie od tego czy są to informacje posiadające jakąkolwiek strukturę.
Jezioro danych sprawdzi się lepiej, jeśli potrzebujesz prowadzić bardziej zaawansowane analizy na surowych danych (np. analizę statystyczną czy modelowanie predykcyjne). Hurtownia danych przyda się natomiast lepiej do działań operacyjnych, związanych z bieżącą działalnością danej organizacji.
Nagranie z meetupu „Biznes oparty na danych w chmurze”
Zorganizowaliśmy bezpłatne wydarzenie online dla specjalistów, którzy chcą wykorzystać potencjał danych firmowych – poprawić wyniki biznesowe, wyciągać rzetelne wnioski przy pomocy narzędzi chmurowych i podejmować świadome, poparte liczbami decyzje.
Podczas meetupu praktyczną wiedzą podzielili się trzej specjaliści ds. analizy danych:
- Stanisław Magierski, Customer Engineer w Google Cloud, który opowiedział, jak wykorzystać potencjał danych, zarządzać nimi i skalować analitykę biznesową,
- Marcin Kolenda, Chief Analyst w Alterdata.io, podzielił się doświadczeniami z użycia usługi BigQuery ML podczas prelekcji „Budowa hurtowni danych na GCP – okiem praktyka”,
- Tomasz Karsznia, Data Engineer w FOTC, zaprezentował sposób analizy logów przy użyciu BigQuery oraz Data Studio na przykładzie danych z pakietu aplikacji biznesowych Google Workspace.
Nagranie z meetupu można obejrzeć po zapisaniu się poprzez formularz na stronie: Biznes oparty na danych w chmurze.