Внутри хранилища Redshift

Введение в Redshift

Jason Myers

Principal Architect

План урока

  • Внутреннее устройство кластера Redshift
    • Типы узлов
    • Функции лидирующего узла
    • Хранилище кластера Redshift
  • Предикаты
  • Redshift Spectrum
    • Компоненты базы данных
    • Внешние таблицы
Введение в Redshift

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

Лидирующий узел

  • Обеспечивает подключения
  • Формирует и распределяет планы выполнения запросов
  • Может выполнять запросы целиком
  • Имеет эксклюзивные функции

Вычислительный узел

  • Обеспечивает хранение данных
  • Выполняет код лидирующего узла над локально хранимыми данными

Кластер Redshift

Введение в Redshift

Функции лидирующего узла

  • Выполняются только на лидирующем узле
-- Selecting the substr, starting at 
-- position 11 of 'chocolate chip'
SELECT SUBSTR('chocolate chip', 11);
chip
  • 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

Проталкивание предикатов

Проталкивание предикатов

Введение в Redshift

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

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

Каталог метаданных

  • Хранит сведения о схеме (столбцы, ключи и т. д.)
  • Ссылается на место хранения

Движок запросов

  • Планирует и выполняет запросы
  • Обеспечивает подключения

Хранилище

  • Содержит данные таблиц
  • Поддерживает множество форматов файлов и таблиц
Введение в Redshift

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

AWS Glue Data Catalog

  • Хранит сведения о «внешних» таблицах

AWS S3 Bucket

  • Хранит файлы, представляющие таблицу
  • Поддерживает CSV, JSON, Text, Parquet и многие другие форматы

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

Введение в Redshift

Давайте потренируемся!

Введение в Redshift

Preparing Video For Download...