Dentro il warehouse Redshift

Introduzione a Redshift

Jason Myers

Principal Architect

Agenda

  • Interni del cluster Redshift
    • Tipi di nodo
    • Funzioni specifiche del leader
    • Storage del cluster Redshift
  • Predicati
  • Redshift Spectrum
    • Componenti del database
    • Tabelle esterne
Introduzione a Redshift

Architettura del cluster Redshift

Leader Node

  • Fornisce le connessioni
  • Crea e distribuisce i piani di esecuzione delle query
  • Può eseguire intere query
  • Ha funzioni esclusive

Compute Node

  • Fornisce storage dati
  • Esegue codice del leader sui dati locali

Cluster Redshift

Introduzione a Redshift

Funzioni specifiche del leader

  • Eseguibili solo sul leader
-- Seleziona la sottostringa a partire
-- dalla posizione 11 di 'chocolate chip'
SELECT SUBSTR('chocolate chip', 11);
chip
  • SUBSTR genera errore su colonne di tabella
-- Seleziona la sottostringa dalla posizione 1
-- della colonna chiamata field nella tabella
SELECT SUBSTR(field, 1) FROM table;
ERROR: SUBSTR() function is not 
supported (Hint: use SUBSTRING 
instead)
Introduzione a Redshift

Dati su più nodi

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
Introduzione a Redshift

Predicati

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';
  • Espressioni booleane tipiche, usate nelle clausole SQL WHERE, HAVING o ON
Introduzione a Redshift

Predicate push-down

PushDown

Introduzione a Redshift

Componenti interni tipici di un database

Componenti del database

Catalogo dei metadati

  • Contiene info di schema (colonne, chiavi, ecc.)
  • Fa riferimento a una posizione di storage

Query Engine

  • Pianifica ed esegue le query
  • Fornisce le connessioni

Storage

  • Contiene i dati delle tabelle
  • Supporta più formati di file e tabella
Introduzione a Redshift

Architettura di Redshift Spectrum

AWS Glue Data Catalog

  • Archivia info sulle tabelle "esterne"

Bucket AWS S3

  • Archivia i file che rappresentano la tabella
  • Supporta CSV, JSON, Text, Parquet e molti altri tipi di file

Architettura Redshift Spectrum

Introduzione a Redshift

Passons à la pratique !

Introduzione a Redshift

Preparing Video For Download...