IT Baza danych

Snowflake

Definicja #

Snowflake to cloud-native platforma danych (Data Cloud) zbudowana od podstaw dla chmury, dostępna na AWS, Azure i Google Cloud. Oferuje model separacji storage od compute, eliminując ograniczenia tradycyjnych hurtowni danych (DWH).

Kluczowe cechy architektury Snowflake:

  • Separation of Storage and Compute — dane przechowywane centralnie w chmurze (S3/Blob/GCS), a Virtual Warehouses (klastry obliczeniowe) są skalowane niezależnie i płatne per second użycia
  • Virtual Warehouses — rozmiary od XS do 6XL; skalowanie w górę (większy warehouse) i poziome (multi-cluster); automatyczne start/stop eliminuje koszt bezczynności
  • Zero-copy Cloning — natychmiastowe klonowanie tabel i baz danych bez kopiowania fizycznych danych; idealne do środowisk testowych
  • Time Travel — dostęp do historycznych danych do 90 dni wstecz; przywracanie usuniętych tabel, zapytania o dane sprzed określonego czasu
  • Data Sharing — udostępnianie danych innym organizacjom Snowflake bez kopiowania (live share); Snowflake Marketplace do kupowania zbiorów danych
  • Semi-structured data — natywne wsparcie JSON, Avro, ORC, Parquet przez typ VARIANT; zapytania SQL bezpośrednio na JSON
  • Snowpark — API do pisania Python, Java, Scala bezpośrednio w środowisku Snowflake

Model cenowy: pay-per-use — płatność za kredyty obliczeniowe (Virtual Warehouse) i storage osobno.

Zastosowania #

Snowflake stosuje się do:

  • Budowania nowoczesnych hurtowni danych (Cloud DWH) — centralne repozytorium danych z całej organizacji do analityki i raportowania BI
  • Data lakehouse — przechowywanie i analiza strukturalnych i pół-strukturalnych danych (JSON z IoT, web logs, API events) w jednym miejscu
  • ELT (Extract, Load, Transform) — ładowanie surowych danych i transformacja SQL w Snowflake (dbt jako transformation layer)
  • Data sharing między firmami — Snowflake Data Marketplace do kupowania i udostępniania danych bez kopiowania
  • Machine learning i data science — Snowpark + Python do trenowania modeli i feature engineering bezpośrednio na danych Snowflake

Ścieżka nauki #

Snowflake jest skierowany do data engineerów, analityków danych i architektów danych. Wymaga SQL i podstaw chmury.

Zacznij od:

  • Rejestracja na Snowflake Free Trial (30 dni, $400 kredytów) — snowflake.com/free-trial
  • Interfejs Snowsight — baza danych, tabele, worksheety SQL, monitoring zapytań
  • DDL i DML w Snowflake SQL — CREATE TABLE, COPY INTO (ładowanie plików), SELECT
  • Tworzenie i zarządzanie Virtual Warehouse — CREATE WAREHOUSE, ALTER WAREHOUSE SUSPEND
  • Ładowanie danych: Stage (internal/external), COPY INTO, Snowpipe (automatyczne ładowanie)

Następnie poznaj:

  • dbt (data build tool) — SQL-based transformation framework, standard w ekosystemie Snowflake
  • Zero-copy Cloning i Time Travel — praktyczne zastosowania w development workflow
  • Streams i Tasks — inkrementalna replikacja zmian danych (CDC) i harmonogramowanie zadań SQL
  • Snowpark — Python API do pracy z danymi bez wychodzenia z Snowflake
  • Certyfikacja: SnowPro Core — oficjalny certyfikat Snowflake

FAQ #

Czym różni się Snowflake od Redshift?
Amazon Redshift to DWH oparty na tradycyjnej architekturze kolumnowej (node clusters) — skalowanie wymaga dodania węzłów. Snowflake oddziela storage od compute, umożliwiając niezależne skalowanie obu warstw i obsługę wielu Virtual Warehouse na tych samych danych. Snowflake obsługuje multi-cloud (AWS, Azure, GCP), Redshift tylko AWS.
Co to jest dbt i jak integruje się ze Snowflake?
dbt (data build tool) to narzędzie do transformacji danych: piszesz SELECT w SQL, dbt buduje modele (tabele/widoki) w Snowflake. Pozwala stosować inżynierię oprogramowania do transformacji danych (wersjonowanie, testy, dokumentacja). dbt Cloud i dbt Core doskonale współpracują ze Snowflake.
Ile kosztuje Snowflake?
Snowflake używa modelu pay-per-use: płacisz za kredyty obliczeniowe (Virtual Warehouse; ~$2-4/kredyt zależnie od edycji i regionu) i storage ($23/TB/miesiąc po kompresji). Mały DWH z 1 godzinę użycia XS Warehouse dziennie kosztuje kilka dolarów miesięcznie. Duże produkcyjne środowiska — od kilkuset do kilku tysięcy dolarów miesięcznie.
Ile zarabia Snowflake Data Engineer?
Data Engineer ze znajomością Snowflake i dbt w Polsce zarabia od 15 000 do 28 000 zł brutto. Certyfikacja SnowPro Core jest poszukiwana przez rekruterów. Senior Data Engineer z doświadczeniem w budowie platform danych może liczyć na stawki kontraktowe 180-250 zł/h.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Snowflake w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.