...

Nowoczesna hurtownia danych

Co jakiś czas pojawiają się innowacyjne rozwiązania, które mogą wnieść prawdziwie nową jakość w obszarze, w którym są wyspecjalizowane. W tym artykule chciałbym omówić jedną z takich innowacji w obszarze analizy danych – jest to artykuł poświęcony usłudze Snowflake.

Usługa ta, moim zdaniem, ma olbrzymi potencjał i dobrze wykorzystana może wznieść firmową analitykę na zupełnie nowy poziom i to w każdym aspekcie – od znacznego uproszczenia rozwiązania, poprzez łatwość i wygodę pracy po odblokowanie nowych możliwości związanych z wydajną analizą dużych wolumenów danych.

Czym zatem jest Snowflake?

Najprościej rzecz ujmując Snowflake jest dedykowaną usługą analityczną, pozwalającą na analizowanie olbrzymich wolumenów danych z bardzo dużą wydajnością.

Snowflake od początku został zaprojektowany jako usługa w pełni chmurowa co pozwoliło na innowacyjne podejście w kontekście zastosowanej architektury – m.in. zastosowano tutaj rozdzielenia warstwy przechowywania danych od warstwy przetwarzania zapytań. Dzięki tej separacji mamy unikalną możliwość dynamicznego dobierania mocy obliczeniowej serwerów oraz rozpraszania obciążenia na więcej niż jedną tzw. wirtualną hurtownie danych.

Rozpraszanie zapytań wspomniane powyżej nie dotyczy jedynie, jak można byłoby przypuszczać, przetwarzania równoległego zapytania przez wiele węzłów obliczeniowych (architektura MPP – massively parallel processing) ale również możliwość powołania osobnych wirtualnych hurtowni, które mogą jednocześnie realizować różne zadania

Uzyskujemy zatem niespotykane wcześniej możliwości dobierania wydajności rozwiązania zależnie od konkretnych potrzeb. Dla przykładu:

  • możemy jednocześnie ładować dane i bez problemów znanych z innych systemów bazodanowych (spadek wydajności, brak dostępu do struktur, które właśnie są używane) skutecznie realizować raportowanie co ma niesamowite znaczenie dla użytkowników biznesowych.
  • zespoły analityków / zespoły data science mogą otrzymać własne środowisko o zwiększonej mocy obliczeniowej do wykonywania złożonych analiz. Dzięki temu szybciej niż przy tradycyjnych rozwiązaniach otrzymujemy użyteczne wyniki i możemy realizować najbardziej wyrafinowane scenariusze przy mniejszym nakładzie środków.
  • jeśli przekazujemy część naszych danych do podmiotów z którymi współpracujemy, możemy im również zapewnić wygodny i bezpieczny dostęp do danych bez konieczności tworzenia czasochłonnych mechanizmów kopiowania danych
  • prace rozwojowe są realizowane na szybkiej kopii danych bez zakłócania działania systemu
  • aplikacje, które potrzebują dostępu do wyników analiz mogą w trybie 24/7 czerpać z najnowszych danych

Każda z wirtualnych hurtowni danych może być rozliczna oddzielnie zatem bez większych trudności możemy pokusić się o odpowiednie przypisanie kosztów do realizowanych zadań lub do konkretnych departamentów

Cechy Snowflake

Opisany wcześniej scenariusz użycia Snowflake jest możliwy dzięki wspaniałemu zestawowi cech charakterystycznych dla tej usługi. Możemy w tym miejscu zatem zebrać te najciekawsze cechy i tak mamy:

  • możliwość użycia wybranej chmury – Snowflake jest aktualnie obecny na chmurach Azure, AWS i Google Cloud Platform. Wybieramy tego dostawcę, u którego mamy już zaimplementowane rozwiązania lub takiego, który oferuje najbardziej nam pasujące usługi
  • separację obciążenia pochodzącego z różnych źródeł za pomocą możliwości powoływania wielu tzw. wirtualnych hurtowni danych
  • bardzo niski próg wejście – cała platforma jest obsługiwana za pomocą języka SQL, za pomocą poleceń SQLowych można nawet skalować system czy tworzyć kolejne wirtualne hurtownie danych
  • interfejs dostępny przez przeglądarkę – autoryzowany użytkownik może wykonywać polecenia SQL przez przeglądarkę internetową nie pobierając danych na swój komputer
  • przemyślana i pewna warstwa bezpieczeństwa danych – szyfrowanie danych, maskowanie danych wrażliwych, bezpieczeństwo oparte o rolach i certyfikaty bezpieczeństwa sprawiają, że jesteśmy wstanie pokryć każdy scenariusz związany z bezpieczeństwem danych
  • możliwość współdzielenia danych – oprócz wykorzystania swoich danych na własne potrzeby można w sposób bezpieczny udostępniać je na zewnątrz np. do podmiotów z którymi współpracujemy. Takie procesy wymiany danych zwykle są kłopotliwe (eksporty na SFTP, dyski sieciowe, przestrzenie w chmurze) a tu ten scenariusz jest pokryty „z pudełka”.
  • obsługa danych ustrukturyzowanych i nieustrukturyzowanych –
  • dwa rodzaje dynamicznego skalowanie w dół i w górę – skalowanie horyzontalne (więcej – pokrycie wielu zapytań jednocześnie) jak i wertykalne (wyżej – skrócenie czasu przetwarzania zapytań).
  • rozliczenie za czasu działania usługi – im bardziej dbamy o to, aby wykorzystać opcje związane z automatycznym usypianiem się i wybudzaniem wirtualnych hurtowni danych czy dynamicznym skalowaniem tym lepszy osiągniemy stosunek końcowych efektów do poniesionego kosztu. Uśpione wirtualne hurtownie nie generują kosztów a jednocześnie możemy śledzić koszty dla każdego wystąpienia hurtowni danych (dlatego warto pod konkretne klasy procesów powoływać oddzielne hurtownie) co pozwala na identyfikację najbardziej kosztownych elementów rozwiązania i ich optymalizację.
  • Deweloperom na pewno spodobają się funkcjonalności, które niesamowicie skracają czas konieczny do rozwoju systemu, takie jak time travel (możliwość „cofnięcia się w czasie” do poprzedniego stanu danych) czy zero copy-clone (natychmiastowa możliwość kopiowania danych np. w celu uruchomienia środowiska testowego czy UAT)

Podsumowanie

Dzięki przemyślanej architekturze i świetnemu zestawowi cech oraz funkcjonalności Snowflake może zrewolucjonizować analitykę niemal w każdej organizacji. Należy tu jednak podkreślić, że wdrożenie Snowflake należy przeprowadzić z należytą starannością, ponieważ nieprawidłowe wykorzystanie tej usługi może okazać się całkiem kosztowne – pozostawianie włączonych wirtualnych hurtowni lub procesów nie pozwalających na automatyczne usypianie serwerów, niewłaściwy dobór mocy obliczeniowej, brak cyklicznego nadzoru kosztów czy wykorzystanie Snowflake jako bazy transakcyjnej może mieć dramatyczne skutki. Nie powinno to jednak powstrzymywać nikogo przed chociaż wypróbowaniem tej technologii – najlepiej przy współpracy z doświadczonym partnerem, który sprawnie i pewnie wdroży rozwiązanie będące koniecznym krokiem na drodze ku osiągnięciu celu jakim jest prawdziwie „data-driven company”.


Norbert Kulski – Transition Technologies MS

Wiktor Janicki Poland

Transition Technologies MS świadczy usługi informatyczne terminowo, o wysokiej jakości i zgodnie z podpisaną umową. Polecamy firmę TTMS jako godnego zaufania i rzetelnego dostawcę usług IT oraz partnera wdrożeniowego Salesforce.

Czytaj więcej
Julien Guillot Schneider Electric

TTMS od lat pomaga nam w zakresie konfiguracji i zarządzania urządzeniami zabezpieczającymi z wykorzystaniem różnych technologii. Ueługi świadczone przez TTMS są realizowane terminowo, i zgodnie z umową.

Czytaj więcej

Już dziś możemy pomóc Ci rosnąć

Porozmawiajmy, jak możemy wesprzeć Twój biznes

TTMC Contact person
Monika Radomska

Sales Manager