Ile kosztuje Snowflake?

Snowflake – płacisz za to, z czego korzystasz. Czyli za co właściwie?

To już ten moment – przenosisz hurtownię danych do Snowflake’a. W końcu nie trzeba tam utrzymywać kosztownej architektury, kupować podzespołów, aktualizować oprogramowania. Wszystkie zalety korzystania z chmury. W tym wpisie opiszę za co zapłacisz korzystając ze Snowflake’a.

Zanim zabierzemy się za dokładne omówienie jak ogarnąć ile w ogóle potencjalnie wyniesie faktura od Snowflake’a polecam zajrzeć najpierw tutaj, gdzie opisuję architekturę Snowflake’a.

Znając już architekturę wiemy, że Snowflake składa się z 3 warstw:

  • Usługi chmurowe (Cloud Services)
  • Przetwarzanie zapytań (Query Processing – Virtual Warehouse)
  • Przechowywanie baz danych (Database Storage)

Opłaty są naliczane w za rzeczywiste użytkowanie poszczególnych warstw + ewentualnie kosztów transferu danych.

Koszty Virtual Warehouse

Tutaj zacznę od tego, że Snowflake mierzy koszty za wykorzystaną moc obliczeniową w kredytach (Snowflake Credits). Kredyty są konsumowane jedynie w momencie jak wykorzystujesz jakieś zasoby.

Koszt 1 kredytu jest zależny od 2 czynników:

  • Regionu chmury, który wybierzesz przy tworzeniu swojego konta
  • Edycji Snowflake’a

Na stronie Snowflake’a możecie sprawdzić cenę kredytów poszczególnych regionów i edycji. Są tam też wymienione dostępne usługi, jakie zapewnia Snowflake w zależności od dostawcy chmury, regionu i edycji.

To ile tych kredytów w ogóle wydasz? Tutaj wchodzi temat rozmiaru wirtualnego warehouse’a – dostępna od XS kosztującego 1 kredyt za godzinę pracy, aż po rozmiar 6XL, który kosztuje 512 kredytów za każdą godzinę (posiadając konto z edycją Enterprise na AWS w regionie US East przeliczając na $ w najtańszej opcji wyjdzie $3 i najdroższej $1536/h).

Każdy rozmiar wirtualnego warehouse’a podwaja jego moc, jak również koszt.

Snowflake udostępnia jeszcze warehouse’y zoptymalizowane dla procesów Snowpark (kod Python, Java, Scala) z 16x większą ilością dostępnej pamięci. Ich koszt jest jednak zwiększony o 50%.

Ważną kwestią jest, że koszt za wykorzystanie Warehouse’ów nalicza się sekundowo z minimalnym kosztem za 60 sekund.

Liczba kredytów zależnie od rozmiaru virtual warehouse
Kredyty / godzinę

Jak obniżyć koszty przetwarzania zapytań?

Przede wszystkim stosować się do ogólnie przyjętych najlepszych praktyk:

  • Odpowiednio modelować dane
  • Wykorzystywać adekwatny rozmiar Warehouse’ów
  • Ustawić timeout (najczęściej na poziomie Warehouse’a)
  • Pilnować poziomu uprawnień do baz danych i schematów
  • Ograniczyć liczbę użytkowników z uprawnieniami do tworzenia i zarządzania zasobami do niezbędnego minimum.
  • Monitorować wykorzystanie zasobów i obiektów -> warto tego pilnować, żeby nie zorientować się w pewnym momencie, że przez ostatnie 2 lata płaciliście za przetwarzanie danych i tworzenie tabel, z których nikt nie korzysta i nie będzie korzystał.

Koszty Cloud Services

Usługi Chmurowe w Snowflake’u działają przeważnie w tle. są wykorzystywane do:

Cloud Services wykonuje swoje zadania automatycznie i nie da się nimi bezpośrednio zarządzać.

Koszt za wykorzystane zasoby na działanie Usług Chmurowych nie zostanie naliczony na fakturze, jeśli nie przekroczy 10% dziennych kosztów naliczonych za wykorzystanie Warehouse’ów. W przeciwnym razie nadwyżka będzie doliczona do faktury.

Koszty Storage

Tutaj sprawa jest dość prosta. Koszty zależą głównie od tego ile miejsca średnio w ciągu miesiąca zajmowały obiekty w Snowflake’u (tabele, time-travel, widoki zmaterializowane, backupy fail-safe.

Drugim elementem jest znowu Region dostawcy chmury.

Jak obniżyć koszt za przechowywanie danych?

  1. Wykorzystywać odpowiedni rodzaj tabeli -> o tym więcej w tym wpisie.
  2. Rozpatrzyć wykup odpowiedniej ilości przestrzeni dyskowej z góry zamiast korzystać z przestrzeni on-demand. Jak widać na powyższych screenshotach koszt wykupionej z góry przestrzeni jest niemal połowę tańszy, więc jeśli Twoja organizacja przechowuje stale większe ilości skompresowanych danych niż 1 TB to wykup tej przestrzeni z góry może okazać się znacznie tańszym rozwiązaniem.
  3. Nie przechowywać niepotrzebnych danych – nie dość, że zajmują przestrzeń i zwiększają koszty, to jeszcze utrudniają poruszanie się wśród użytecznych tabel.

Koszty transferu danych

Niestety dochodzą jeszcze koszty transferu danych. W sytuacji, gdyby zaszła potrzeba przeniesienia danych do innego regionu lub dostawcy usług chmurowych koszty mogą wahać się od $20 do $190 za transfer 1 TB danych.

Transfer wewnątrz tego samego regionu u tego samego dostawcy chmury jest darmowy.

No dobra, ale ile kosztuje Snowflake w miesiącu?

Odpowiedź jest prosta – to zależy. Potestuj Snowflake za darmo przez miesiąc na edycji, która spełnia Twoje wymagania pod względem funkcjonalności i sprawdź w zakładce Admin -> Usage ile kosztowały Cię testy.

W filtrze Usage Types możesz też wyfiltrować koszt za wykorzystanie mocy obliczeniowej, przechowywania danych i transferu.


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


Opublikowano

w

przez

Komentarze

Dodaj komentarz

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