Wewnątrz magazynu Redshift

Wprowadzenie do Redshift

Jason Myers

Principal Architect

Agenda

  • Struktura wewnętrzna klastra Redshift
    • Typy węzłów
    • Funkcje węzła lidera
    • Magazyn klastra Redshift
  • Predykaty
  • Redshift Spectrum
    • Komponenty bazy danych
    • Tabele zewnętrzne
Wprowadzenie do Redshift

Architektura klastra Redshift

Węzeł lidera

  • Zapewnia połączenia
  • Tworzy i dystrybuuje plany wykonania zapytań
  • Może wykonywać całe zapytania
  • Posiada wyłączne funkcje

Węzeł obliczeniowy

  • Zapewnia magazyn danych
  • Wykonuje kod węzła lidera na lokalnie przechowywanych danych

Klaster Redshift

Wprowadzenie do Redshift

Funkcje specyficzne dla węzła lidera

  • Działają wyłącznie na węźle lidera
-- Selecting the substr, starting at 
-- position 11 of 'chocolate chip'
SELECT SUBSTR('chocolate chip', 11);
chip
  • SUBSTR zwraca błąd dla kolumn tabeli
-- Selecting the substr from position 1
-- of the column named field on table
SELECT SUBSTR(field, 1) FROM table;
ERROR: SUBSTR() function is not 
supported (Hint: use SUBSTRING 
instead)
Wprowadzenie do Redshift

Dane w poszczególnych węzłach

SELECT host, 
       -- Calculate the percentage of used space
       -- using the used minus tossed or ready to be reclaimed
       -- divided by the capacity
       (used - tossed) / capacity * 100 as percent_used 
  FROM STV_PARTITIONS;
 host |  percent_used
======+==============
  0   |  24.9
  1   |  24.8
Wprowadzenie do Redshift

Predykaty

SELECT table_A.columnX,
       table_B.columnY,
  FROM table_A
       INNER JOIN table_B 
          -- predicate
       ON table_B.foreign_key = table_A.primary_key 
       -- predicate
 WHERE table_B.columnZ = 'value';
  • Zazwyczaj wyrażenia logiczne; występują w klauzulach WHERE, HAVING lub ON
Wprowadzenie do Redshift

Przepychanie predykatów

Przepychanie predykatów

Wprowadzenie do Redshift

Typowe komponenty bazy danych

Komponenty bazy danych

Katalog metadanych

  • Przechowuje informacje o schemacie (kolumny, klucze itp.)
  • Wskazuje lokalizację danych

Silnik zapytań

  • Planuje i wykonuje zapytania
  • Zapewnia połączenia

Magazyn danych

  • Przechowuje dane tabel
  • Obsługuje wiele formatów plików i tabel
Wprowadzenie do Redshift

Architektura Redshift Spectrum

AWS Glue Data Catalog

  • Przechowuje informacje o tabelach „zewnętrznych"

AWS S3 Bucket

  • Przechowuje pliki reprezentujące tabelę
  • Obsługuje CSV, JSON, tekst, Parquet i wiele innych formatów

Architektura Redshift Spectrum

Wprowadzenie do Redshift

Czas na ćwiczenia!

Wprowadzenie do Redshift

Preparing Video For Download...