Усередині сховища Redshift

Вступ до Redshift

Jason Myers

Principal Architect

План

  • Внутрішня будова кластера Redshift
    • Типи вузлів
    • Функції, доступні лідер-вузлу
    • Зберігання в кластері Redshift
  • Предикати
  • Redshift Spectrum
    • Компоненти бази даних
    • Зовнішні таблиці
Вступ до Redshift

Архітектура кластера Redshift

Leader Node

  • Надає з'єднання
  • Будує та розподіляє плани виконання запитів
  • Може виконувати цілі запити
  • Має окремі функції

Compute Node

  • Надає сховище даних
  • Виконує код лідер-вузла над локальними даними

Кластер Redshift

Вступ до Redshift

Спеціальні функції лідер-вузла

  • Працюють лише на лідер-вузлі
-- Selecting the substr, starting at 
-- position 11 of 'chocolate chip'
SELECT SUBSTR('chocolate chip', 11);
chip
  • За замовчуванням використовуйте SUBSTRING
  • Перелік функцій лідер-вузла в AWS Redshift documentation
  • SUBSTR дає помилки на стовпцях таблиць
-- 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)
Вступ до Redshift

Перегляд даних між вузлами

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
Вступ до Redshift

Предикати

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';
  • Зазвичай це булеві вирази у розділах WHERE, HAVING або ON
Вступ до Redshift

Опускання предикатів (predicate push-down)

PushDown

Вступ до Redshift

Типові внутрішні компоненти бази даних

Компоненти бази даних

MetaData Catalog

  • Містить відомості про схему (стовпці, ключі тощо)
  • Посилається на сховище

Query Engine

  • Планує та виконує запити
  • Надає з'єднання

Storage

  • Зберігає дані таблиць
  • Підтримує різні формати файлів і таблиць
Вступ до Redshift

Архітектура Redshift Spectrum

AWS Glue Data Catalog

  • Зберігає інформацію про «зовнішні» таблиці

AWS S3 Bucket

  • Зберігає файли, що представляють таблицю
  • Підтримує CSV, JSON, Text, Parquet та багато інших типів файлів

Архітектура Redshift Spectrum

Вступ до Redshift

Давайте потренуємось!

Вступ до Redshift

Preparing Video For Download...