Szkolenie Snowflake dla programistów
Poziom
ŚredniozaawansowanyCzas
16h / 2 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie Snowflake dla programistów
Snowflake to chmurowa platforma danych rozdzielająca warstwy przechowywania, obliczeń i usług platformowych. Szkolenie koncentruje się na programistycznej pracy z SQL, danymi ustrukturyzowanymi i półustrukturyzowanymi, ładowaniem danych, automatyzacją potoków, kontrolą dostępu oraz analizą wydajności i wykorzystania zasobów. Podczas warsztatów uczestnicy przygotują skrypty SQL, prototyp przepływu danych i konfigurację ról, a następnie zweryfikują ich działanie w Snowsight.
Dla kogo jest to szkolenie?
Dla Dla programistów, data engineerów i analytics engineerów pracujących z relacyjnymi bazami danych, hurtowniami danych lub potokami przetwarzania danychzajmujących się bazami danych.
Dla osób znających SQL na poziomie obejmującym instrukcje DDL i DML, złączenia, agregacje, podzapytania oraz funkcje okna, a także podstawy pracy z wierszem poleceń; wcześniejsze doświadczenie ze Snowflake nie jest wymagane
Czego nauczysz się na tym szkoleniu?
- Rozpoznasz warstwy architektury Snowflake oraz dobierzesz magazyn wirtualny do rodzaju i skali obciążenia
- Przygotujesz skrypty SQL tworzące i modyfikujące obiekty oraz przetwarzające dane ustrukturyzowane i dane JSON
- Skonfigurujesz połączenie ze Snowflake w Snowsight, Snowflake CLI lub z wykorzystaniem wybranego konektora
- Zbudujesz prototyp wsadowego i ciągłego ładowania danych z walidacją plików, obsługą błędów i kontrolą wyników
- Przygotujesz automatyzację transformacji danych z wykorzystaniem Streams, Tasks lub Dynamic Tables
- Skonfigurujesz role i uprawnienia zgodnie z zasadą najmniejszych uprawnień oraz dobierzesz mechanizm ochrony lub udostępniania danych
- Przeanalizujesz profil zapytania, zidentyfikujesz kosztowne operacje oraz dobierzesz podstawowe metody poprawy wydajności i kontroli zużycia zasobów
- Przygotujesz widok monitorujący zapytania, ładowanie danych lub wykorzystanie magazynów oraz udokumentujesz ograniczenia i ryzyka przygotowanego rozwiązania
Program szkolenia
Dzień 1
Architektura Snowflake
- Warstwy platformy Snowflake: rozdzielenie magazynu danych, niezależnych magazynów wirtualnych i usług chmurowych, izolacja obciążeń analitycznych i inżynieryjnych, wieloklastrowe skalowanie zasobów oraz wpływ architektury na wydajność, dostępność i koszty
Ekosystem i połączenia ze Snowflake
- Narzędzia ekosystemu: Snowsight, Snowflake CLI, sterowniki JDBC i ODBC, konektory językowe, SQL API, narzędzia partnerskie oraz kryteria doboru interfejsu do pracy interaktywnej, automatyzacji i integracji aplikacyjnej
- Połączenia ze Snowflake: profile konfiguracyjne, identyfikatory konta, role i magazyny domyślne, parametry sesji, uwierzytelnianie wieloskładnikowe i federacyjne, pary kluczy, rotacja poświadczeń oraz bezpieczne przechowywanie sekretów
SQL w Snowflake
- Dialekt SQL Snowflake: bazy, schematy, tabele i widoki, instrukcje DDL i DML, funkcje skalarne i analityczne, CTE, operacje na zbiorach, transakcje, klonowanie bezkopiowe, Time Travel oraz podstawowe różnice względem tradycyjnych relacyjnych baz danych
- Ćwiczenia SQL w strukturach Snowflake: definicje obiektów, transformacje danych, złączenia, agregacje, funkcje okna, zapytania analityczne, operacje INSERT, UPDATE, DELETE i MERGE, obsługa wartości NULL oraz kontrola kompletności i poprawności wyników
Dane półustrukturyzowane w Snowflake
- Model danych półustrukturyzowanych: typy VARIANT, OBJECT i ARRAY, funkcje PARSE_JSON i TRY_PARSE_JSON, notacja ścieżek, dostęp do zagnieżdżonych atrybutów, rzutowanie typów, funkcja FLATTEN oraz projektowanie tabel łączących dane relacyjne i dokumentowe
- Ćwiczenia SQL dla danych JSON: import dokumentów, ekstrakcja pól prostych i zagnieżdżonych, obsługa tablic, spłaszczanie wielopoziomowych struktur, normalizacja wartości, bezpieczne konwersje typów, identyfikacja błędnych rekordów oraz walidacja wyniku transformacji
Automatyzacja zadań w Snowflake
- Streams i Tasks: mechanizm rejestracji zmian CDC, typy strumieni, odczyt zmian INSERT, UPDATE i DELETE, harmonogramy zadań, zadania wyzwalane, grafy zależności, kontekst wykonania, obsługa niepowodzeń, historia uruchomień oraz kontrola spójności potoku
- Dynamic Tables: deklaratywne definicje transformacji, parametr TARGET_LAG, tryby odświeżania przyrostowego i pełnego, zależności między tabelami dynamicznymi, monitoring opóźnień, ograniczenia funkcjonalne oraz kryteria doboru względem Streams i Tasks
Sesja Q&A
Dzień 2
Bezpieczeństwo i uprawnienia
- Model RBAC: role systemowe i niestandardowe, hierarchia i dziedziczenie ról, uprawnienia na poziomie konta, bazy, schematu i obiektu, własność obiektów, role funkcyjne, separacja obowiązków oraz zasada najmniejszych uprawnień
- Scenariusze dostępu: role użytkowników i role bazodanowe, przyszłe granty, uprawnienia do odczytu, zapisu i wykonywania operacji, dostęp do magazynów wirtualnych, kontrola zmian w schematach oraz weryfikacja efektywnych uprawnień
Ładowanie danych
- Ładowanie wsadowe i ciągłe: wewnętrzne i zewnętrzne stages, formaty CSV, JSON i Parquet, obiekty FILE FORMAT, polecenie COPY INTO, Snowpipe, wzorce nazw plików, walidacja zawartości, obsługa błędów, historia ładowań oraz kontrola kompletności danych
- Snowflake CLI i starszy klient SnowSQL: konfiguracja profili połączeń, uwierzytelnianie, wykonywanie pojedynczych poleceń i skryptów SQL, zmienne, parametry, przekierowanie wyników, obsługa kodów zakończenia oraz zastosowanie w procesach wsadowych i CI/CD
- Prototyp potoku integracyjnego: przygotowanie warstwy wejściowej, ładowanie plików, deduplikacja rekordów, klucze techniczne, operacje MERGE, idempotencja, rejestrowanie błędów, ponawianie przetwarzania, metryki kontrolne oraz porównanie danych źródłowych i docelowych
Ochrona i udostępnianie danych
- Mechanizmy ochrony i udostępniania danych: secure views, masking policies, row access policies, tagi i podstawy klasyfikacji danych, bezpieczne udziały, dostęp między kontami, minimalizacja zakresu danych, kontrola odbiorców oraz zadanie praktyczne z walidacją widoczności informacji
Wydajność i skalowanie
- Analiza wydajności i skalowania: Query Profile, historia zapytań, identyfikacja pełnych skanów i kosztownych złączeń, ograniczanie zakresu danych, pruning mikropartycji, clustering, pamięć podręczna, dobór rozmiaru magazynu wirtualnego, auto-suspend, auto-resume, skalowanie wieloklastrowe, kontrola kosztów oraz zadanie praktyczne
Zarządzanie kontem i zasobami w Snowsight
- Środowisko Snowsight: worksheets i workspaces, organizacja skryptów, historia zapytań, profile wykonania, monitoring ładowania danych, zadań i tabel dynamicznych, Performance Explorer, zarządzanie rolami i magazynami oraz podstawowe widoki administracyjne
- Analityka administracyjna: widoki ACCOUNT_USAGE i INFORMATION_SCHEMA, historia zapytań i logowań, wykorzystanie magazynów, Resource Monitors, budżety, alerty kosztowe, opóźnienia danych telemetrycznych, podstawy audytu aktywności oraz zadania praktyczne z przygotowaniem raportu kontrolnego