Amazon Redshift
Analytics Cloud Practitioner Solutions Architect Associate

Amazon Redshift

Amazon Redshift

Chmurowa hurtownia danych z kolumnowym storage. Analizuj petabajty danych w sekundach za pomocą standardowego SQL - w wersji zarządzanej lub serverless.

Amazon Redshift to w pełni zarządzana, petabajtowa hurtownia danych w chmurze. Wykorzystuje kolumnowy format storage i masywną równoległość (MPP - Massively Parallel Processing), dzięki czemu zapytania analityczne na miliardach wierszy wykonują się w sekundach zamiast godzin.

Redshift oferuje dwa tryby pracy: provisionowane klastry z węzłami RA3 (dane na managed storage S3) oraz Redshift Serverless - bez zarządzania infrastrukturą, z automatycznym skalowaniem. Dzięki Redshift Spectrum możesz odpytywać dane bezpośrednio w S3 bez ładowania ich do hurtowni, co daje dostęp do praktycznie nieograniczonej ilości danych.

Czy wiesz, ze...

Redshift automatycznie kompresuje dane kolumnowo, osiągając typowo 3-4x kompresję. Oznacza to, że 1 TB surowych danych zajmuje tylko 250-330 GB na dysku. Kompresja jest dobierana automatycznie na podstawie analizy próbki danych przy pierwszym ładowaniu (COPY command).

Pro Tip

Użyj materialized views do przyspieszenia powtarzalnych, złożonych zapytań. Redshift automatycznie odświeża materialized views inkrementalnie - aktualizuje tylko zmienione dane zamiast przeliczać wszystko od zera. Dashboardy BI oparte na materialized views ładują się w milisekundach.

Amazon Redshift to petabajtowa hurtownia danych w chmurze, zoptymalizowana pod zapytania analityczne (OLAP). Redshift uzywa kolumnowego przechowywania danych, masywnej rownoleglej kompresji (MPP) i automatycznej kompresji kolumn, co pozwala analizowac miliardy wierszy w sekundach. Integruje sie natywnie z ekosystemem AWS - S3, Glue, QuickSight, SageMaker.

1

Tworzenie klastra (wybor typu node)

Klaster Redshift sklada sie z leader node (parsuje zapytania, koordynuje) i compute nodes (przechowuja dane, wykonuja obliczenia). Typy nodow: ra3.xlplus (4 vCPU, 32 GiB RAM, managed storage), ra3.4xlarge (12 vCPU, 96 GiB), ra3.16xlarge (48 vCPU, 384 GiB). Ra3 oddziela compute od storage (dane w S3 z lokalnym cache SSD). Minimalny klaster to 2 nody ra3.

2

Ladowanie danych (COPY z S3)

Komenda COPY to najszybszy sposob ladowania danych do Redshift - rownolegle wczytuje pliki z S3, DynamoDB lub EMR. Dla optymalnej wydajnosci podziel dane na pliki rowne liczbie slices (np. 16 plikow dla 8-node klastra z 2 slices/node). Format Parquet lub ORC z kompresja jest 2-5x szybszy niz CSV. COPY automatycznie stosuje kompresje kolumn przy pierwszym ladowaniu.

3

Projektowanie tabel (distribution i sort keys)

Distribution key okresla, jak dane sa rozproszone miedzy nody: KEY (kolumna JOIN), EVEN (rowny rozklad), ALL (kopia na kazdym nodzie dla malych tabel wymiarowych). Sort key determinuje fizyczna kolejnosc danych na dysku - Redshift uzywa zone maps do pomijania blokow niespelniajacych warunkow WHERE. Compound sort key dla stalych zapytan, interleaved dla zmiennych wzorcow.

4

Wykonywanie zapytan analitycznych

Redshift kompiluje zapytania SQL do kodu C++ wykonywanego bezposrednio na compute nodes. Kolumnowe przechowywanie oznacza, ze czytane sa tylko potrzebne kolumny (np. SELECT 3 kolumn z tabeli 200 kolumn czyta 1.5% danych). Automatyczna kompresja (LZO, ZSTD, AZ64) redukuje rozmiar danych 3-10x. Result caching zwraca wyniki powtarzanych zapytan w < 1 ms.

5

Konfiguracja WLM (Workload Management)

WLM kontroluje alokacje zasobow miedzy rozne typy zapytan. Automatic WLM (zalecany) dynamicznie przydziela pamiec i sloty na podstawie priorytetu i zlozonosci zapytan. Mozesz zdefiniowac kolejki: np. "ETL" (niski priorytet, dlugie zapytania), "BI" (wysoki priorytet, szybkie odpowiedzi), "Superuser" (zarezerwowane). Short Query Acceleration (SQA) automatycznie przyspiesza krotkie zapytania.

6

Redshift Spectrum - zapytania na S3

Spectrum pozwala wykonywac zapytania SQL bezposrednio na danych w S3 bez ladowania ich do Redshift. Uzywa tabel zewnetrznych zdefiniowanych w Glue Data Catalog. Spectrum skaluje sie niezaleznie od klastra - AWS automatycznie przydziela zasoby obliczeniowe. Idealne dla data lakehouse: gorace dane w Redshift, historyczne w S3. Spectrum obsluguje formaty Parquet, ORC, JSON, CSV.

Praktyczne wskazowki do projektowania wydajnych tabel, optymalizacji zapytan i minimalizacji kosztow w Amazon Redshift.

Distribution key dla optymalizacji JOIN

Ustaw distribution key na kolumnie najczesciej uzywanej w JOIN (np. customer_id). Gdy obie tabele maja ten sam distribution key, Redshift wykonuje JOIN lokalnie na kazdym nodzie (collocated join) zamiast przesylac dane miedzy nodami (redistribution). Sprawdz plan zapytania (EXPLAIN) - DS_DIST_NONE oznacza collocated join, DS_DIST_BOTH to najgorszy scenariusz wymagajacy optymalizacji.

Zaawansowany

Sort keys dla zapytan zakresowych

Sort key na kolumnie uzywanej w WHERE z filtrami zakresowymi (np. created_at BETWEEN) pozwala Redshift pominac do 95% blokow danych dzieki zone maps. Compound sort key (kolumna1, kolumna2) dziala najlepiej gdy filtrujesz po pierwszej kolumnie. Dla dashboardow z roznymi filtrami rozważ interleaved sort key - rownoważy skutecznosc miedzy wszystkimi kolumnami kosztem wolniejszego VACUUM.

Zaawansowany

VACUUM i ANALYZE regularnie

Redshift nie nadpisuje wierszy przy UPDATE/DELETE - oznacza je jako usunięte (ghost rows). VACUUM odzyskuje miejsce i ponownie sortuje dane. ANALYZE aktualizuje statystyki optymalizatora zapytan. Uruchamiaj VACUUM DELETE co noc, VACUUM SORT co tydzien. Od Redshift ra3 automatyczny VACUUM dziala w tle, ale monitoruj metryce unsorted_rows. Dla duzych tabel VACUUM BOOST przyspiesza operacje kosztem wiekszego zuzycia zasobow.

Poczatkujacy

Redshift Serverless dla zmiennych workloadow

Redshift Serverless automatycznie skaluje zasoby obliczeniowe (w RPU - Redshift Processing Units) na podstawie obciazenia. Placisz za faktycznie zuzyty czas obliczen (USD/RPU-godzine). Idealny dla: ad-hoc analiz, srodowisk dev/test, workloadow z pikami (np. raporty konca miesiaca). Base capacity od 8 RPU do 512 RPU. Dla stalego, przewidywalnego obciazenia provisioned cluster jest tanszy.

Poczatkujacy

Materialized Views dla powtarzalnych zapytan

Materialized Views przechowuja przeliczone wyniki zlozonych zapytan i automatycznie sie odswiezaja (AUTO REFRESH). Idealne dla dashboardow BI i raportow, ktore wykonuja te same agregacje wielokrotnie. Redshift automatycznie routuje zapytania do materialized view gdy to mozliwe (automatic query rewriting). Monitoruj czas odswiezania - dla duzych tabel uzyj incremental refresh.

Zaawansowany

Spectrum dla architektury data lakehouse

Trzymaj gorace dane (ostatnie 3-6 miesiecy) w tabelach natywnych Redshift, a historyczne w S3 jako tabele Spectrum. Uzywaj formatu Parquet z partycjonowaniem po dacie - Spectrum czyta tylko potrzebne partycje. Mozesz laczyc tabele natywne ze Spectrum w jednym zapytaniu (UNION ALL). To 5-10x tansze niz przechowywanie wszystkich danych w klastrze, z akceptowalnym spadkiem wydajnosci dla starych danych.

Zaawansowany

Screenshoty z AWS Console

Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon Redshift bezposrednio w konsoli AWS.

Do czego sluzy Amazon Redshift?

01

Centralna hurtownia danych

Zbierz dane z wielu źródeł (bazy transakcyjne, logi, API) w jednym miejscu. SQL-owe zapytania analityczne na petabajtach danych w sekundach.

02

Business Intelligence i raporty

Podłącz QuickSight, Tableau czy Power BI do Redshift. Materialized views przyspieszają powtarzalne raporty dashboardowe.

03

Data lake queries z Spectrum

Odpytuj dane w S3 (Parquet, ORC, CSV, JSON) standardowym SQL-em bez ładowania do Redshift. Łącz dane z hurtowni i data lake w jednym zapytaniu.

04

Analityka real-time z streaming ingestion

Ładuj dane z Kinesis Data Streams bezpośrednio do Redshift w niemal real-time. Analizuj najświeższe dane bez opóźnień ETL.

Co musisz wiedziec?

Kolumnowy storage

Dane przechowywane kolumnami, nie wierszami. Zapytania analityczne czytają tylko potrzebne kolumny - dramatycznie mniej I/O. Kompresja kolumnowa zmniejsza rozmiar danych 3-4x.

RA3 Nodes

Najnowsza generacja węzłów Redshift. Dane przechowywane na zarządzanym storage S3 (Redshift Managed Storage) - skalujesz compute i storage niezależnie od siebie.

Redshift Serverless

Tryb bez zarządzania klastrem. Automatyczne skalowanie, płacisz za zużyte RPU (Redshift Processing Units). Idealny dla nieregularnych workloadów.

Redshift Spectrum

Silnik do odpytywania danych w S3 bezpośrednio z Redshift za pomocą external tables. Nie trzeba ładować danych do hurtowni - odpytujesz data lake SQL-em.

Concurrency Scaling

Automatyczne dodawanie tymczasowych klastrów, gdy liczba jednoczesnych zapytań przekracza pojemność. Użytkownicy nie czekają w kolejce - Redshift skaluje się w sekundach.

AQUA

Advanced Query Accelerator - sprzętowa akceleracja zapytań na warstwie storage. Przenosi operacje filtrowania i agregacji bliżej danych, przyspieszając zapytania do 10x.

Architektura: Redshift jako hurtownia danych

Typowa architektura analityczna z Redshift jako centralnym silnikiem. Dane plyna z S3 przez COPY lub streaming z Kinesis, sa analizowane w klastrze i prezentowane w narzediach BI. Spectrum rozszerza zapytania na dane w S3 data lake.

S3 Data Lake
S3 Data Lake Zrodlowe dane w formatach Parquet/ORC, partycjonowane po dacie
ladowanie danych
COPY / Kinesis Firehose
COPY / Kinesis Firehose Ladowanie batch (COPY) lub streaming (Firehose) do klastra
COPY / streaming
Redshift Cluster
Redshift Cluster Klaster MPP: leader node + compute nodes, kolumnowy storage, kompresja
zapytania SQL
QuickSight / BI
QuickSight / BI Dashboardy i raporty analityczne, JDBC/ODBC do klastra
external tables
Redshift Spectrum
Redshift Spectrum Zapytania SQL bezposrednio na danych w S3 bez ladowania do klastra
schema discovery
Glue Data Catalog
Glue Data Catalog Centralny katalog schematow tabel Spectrum i natywnych
Distribution key na kolumnie JOIN eliminuje przesylanie danych miedzy nodami (collocated join) - kluczowe dla wydajnosci.
Spectrum pozwala odpytywac dane w S3 bez ladowania do klastra - idealne dla historycznych danych i architektury data lakehouse.
Result caching zwraca wyniki powtarzanych zapytan w < 1 ms, co znaczaco przyspiesza dashboardy BI.

Ile kosztuje Amazon Redshift?

Redshift Serverless

Płacisz za zużyte RPU (Redshift Processing Units) w sekundach. Brak opłat gdy hurtownia jest nieaktywna.

$0.375/RPU-godz. (bazowe 8 RPU = $3/godz.)

RA3 Nodes (On-Demand)

Opłata za węzeł na godzinę plus managed storage. Skalujesz compute i storage niezależnie.

ra3.xlplus: $1.086/godz. + $0.024/GB-mies. storage

Reserved Instances

Rezerwacja węzłów na 1 lub 3 lata. Znaczne oszczędności dla stałych workloadów.

ra3.xlplus 1-rok: do 36% taniej niż On-Demand

Spectrum

Opłata za ilość danych przeskanowanych z S3. Brak opłat za transfer czy przechowywanie.

$5.00 za TB przeskanowanych danych

Przyklady AWS CLI

Utwórz klaster Redshift

Tworzy klaster z 2 węzłami RA3 w prywatnej podsieci

aws redshift create-cluster \
 --cluster-identifier moja-hurtownia \
 --node-type ra3.xlplus \
 --number-of-nodes 2 \
 --master-username admin \
 --master-user-password MojeHaslo123! \
 --encrypted

Utwórz namespace Serverless

Tworzy namespace Redshift Serverless z bazą danych

aws redshift-serverless create-namespace \
 --namespace-name analytics-ns \
 --admin-username admin \
 --admin-user-password MojeHaslo123! \
 --db-name analytics

Wykonaj zapytanie SQL

Uruchamia zapytanie SQL na klastrze Redshift i zwraca wynik

aws redshift-data execute-statement \
 --cluster-identifier moja-hurtownia \
 --database analytics \
 --db-user admin \
 --sql "SELECT date_trunc('month', created_at) AS month, COUNT(*) AS orders FROM orders GROUP BY 1 ORDER BY 1"

Zmień rozmiar klastra

Elastyczny resize - zmienia liczbę węzłów bez downtime

aws redshift resize-cluster \
 --cluster-identifier moja-hurtownia \
 --cluster-type multi-node \
 --number-of-nodes 4 \
 --node-type ra3.xlplus

Quiz: Amazon Redshift

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.

Twoj wynik: 0 / 4

1. Dlaczego Redshift jest szybszy od tradycyjnych baz danych dla analityki?

2. Co robi Redshift Spectrum?

3. Czym różnią się węzły RA3 od starszych typów (DC2)?

4. Kiedy warto wybrać Redshift Serverless zamiast provisionowanego klastra?

Chcesz poznac Amazon Redshift w praktyce?

Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon Redshift krok po kroku. Teoria + praktyka od zera.

Zacznij darmowy kurs Wszystkie serwisy