Czym właściwie jest Snowflake?

Snowflake promuje się jako

  • Platforma Danych (Data Platform)
  • Chmura Danych (Data Cloud)

Zmienię więc pytanie na nieco inne:

Co możesz zrobić wykorzystując Snowflake?

Ogry mają warstwy, cebula ma warstwy, Snowflake też ma warstwy.

Z każdym kolejnym rokiem coraz więcej. Snowflake mimo, że zaczynał od bycia chmurową, analityczną bazą danych obecnie buduje swoją przewagę konkurencyjną jako platforma do wszelkiego przetwarzania danych. W kolejnych punktach omówię główne możliwości zastosowania Snowflake’a.

Zbudować Hurtownię Danych

Jako firma potrzebujesz danych, żeby przeprowadzać analizy i podejmować lepsze decyzje. Budowa Hurtowni Danych w chmurze to świetne rozwiązanie ze względu na niski koszt początkowy. Dodatkowo Snowflake wydaje się idealny ze względu na 3-warstwową architekturę i niemal nieskończone możliwości rozbudowy w zależności od potrzeb.

Budowanie hurtowni w środowisku nie stawiającym ograniczeń wiąże się jednak z ryzykiem przesadzenia – budowania rzeczy, których nie potrzebujesz, a za których istnienie będziesz regularnie płacić. Warto mimo wszystko spędzić czas na analizie biznesu i rzeczywistych potrzebach, żeby nie przepalać zasobów na utrzymywanie rzeczy, które „mogą się kiedyś przydać” i skupić się na tym, co przyniesie realną wartość.

Znając już swój biznes i wiedząc co chcesz zbudować dalej warto skupić się na sposobie zbudowania i odpowiedniego zamodelowania danych (Data Vault, model gwiazdy, czy płatka śniegu?). Przyda się też wiedza o tym, jak Snowflake przechowuje tabelejakie ma rodzaje tabel.

Zbudować pełne przepływy danych i transformacji

Świetnym rozwiązaniem na przepływy danych są Tabele Dynamiczne. Snowflake zawiera też wbudowany konektor do Kafki i rozwiązania umożliwiające bezserwerowe przetwarzanie strumieniowe jak i automatyzację ładowania plików wsadowych ze zbiorników danych jak s3. Nie musisz też wcześniej przetwarzać plików półstrukturalnych, i specjalnie ich formatować. W SQL Snowflake’a bez problemu odczytasz i sparsujesz do formatu kolumnowego pliki JSON, XML, a także pliki w formatach CSV, AVRO, ORC, PARQUET.

Zarabiać na swoich danych, lub po prostu dzielić się nimi

Masz możliwość skorzystania z Marketplace:

  • kupowanie danych w celu poszerzenia możliwości analizy własnych danych
  • sprzedawanie własnych danych
  • bezpieczne przekazywanie danych do innych współpracujących organizacji.

Możliwość bezpiecznego dzielenia się danymi bardzo mi się podoba. Zamiast korzystać z niepewnych emaili, sftp, tworzyć customowe API można po prostu udostępnić zbiór danych w Snowflake’u. Konto organizacji, które udostępniłeś dane będzie miało zawsze dostęp do najnowszych danych, co znacznie ułatwia proces, bo nie wymaga on ciągłej komunikacji ani dodatkowych ETL.

Budować modele Uczenia Maszynowego

Snowflake udostępnia biblioteki Python’owe do uproszczenia wykorzystania zasobów Snowflake’a w wykorzystaniu danych i budowaniu modeli ML (Snowpark ML). Póki co najłatwiej jest wykorzystać te biblioteki wykorzystując chociażby Jupyter noteboook, ewentualnie w Worksheetach Python’owych w Snowflake’u (choć te nie są zbyt wygodne w developmencie ze względu uruchamiania całęgo kodu na raz).

Póki co w private preview są jeszcze takie usługi jak:

  • Snowflake Cortex – dostęp do modeli AI i LLM
  • Snowflake Notebooks – Jupyter Notebook przeniesiony do GUI Snowflake’a

Więcej o ML w Snowflak’u możesz przeczytać w dokumentacji.

Budować Dashboardy

Nie potrzebujesz kupować licencji na zewnętrzne narzędzia BI do wizualizacji danych. Jeśli nie potrzebujesz skomplikowanych wizualizacji z dynamicznym filtrowaniem, to dashboardy możliwe do stworzenia wewnątrz Snowflake’a powinny Ci wystarczyć.

Stworzyć własne aplikacje wewnątrz Snowflake’a

Snowflake umożliwia Ci stworzenie aplikacji na zasobach Snowflake’owych. W 2022 roku Snowflake przejął Streamlit – open-source’ową bibliotekę Python’ową do tworzenia aplikacji webowych. W backendzie możesz wykorzystać wszelkie dostępne modele uczenia maszynowego włącznie z LLM. Aplikacje mogą być bardziej nastawione na wizualizację danych lub interakcję z użytkownikiem. Dobrym wstępem do poznania tej możliwości jest ten workshop udostępnioiny przez Snowflake’a.


Nie przegap kolejnych wpisów -> śledź mnie:


Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *