Getting Started with Amazon Redshift
Попробовать Redshift
Требуется аккаунт AWS. Следуйте пошаговым инструкциям Руководства по началу работы и воспользуйтесь бесплатной пробной версией, чтобы за несколько минут создать и подготовить свой первый кластер, а затем загрузить образцы данных и выполнять запросы к ним.
Ресурсы обучения
Создаете опытный образец?
Если вы используете Amazon Redshift для создания опытного образца решения, рекомендуем ознакомиться с документом Building a Proof of Concept for Amazon Redshift. Запросить поддержку при создании опытного образца можно по ссылке.
Готовность для развертывания решений
Выполните полное развертывание решения на основе Amazon Redshift, следуя инструкциям из пошаговых руководств
Развертывание хранилища данных
В рамках данного проекта вы создадите и настроите хранилище данных Amazon Redshift, настроите кластер и обеспечите его безопасность, загрузите образцы данных и проанализируете их с помощью SQL-клиента.
Просмотреть все проекты Начало работы с AWS
Миграция из Oracle в Redshift
Преобразовывайте схему и код хранилища данных, осуществляйте миграцию данных и выполняйте действия после миграции с минимальным временем простоя.
Современное хранилище данных на Tableau, Redshift и Matillion
Развертывание среды для современного хранилища данных предприятия (EDW) осуществляется на основе Amazon Redshift
Аналитический движок Amazon Redshift + преимущества Облака
На связи Артемий Козырь из команды Аналитики, и я продолжаю знакомить вас с Wheely. В этом выпуске:
Все аналитические решения Wheely так или иначе строятся на основе Хранилища Данных, движком которого выступает продукт с кодовым названием Redshift от провайдера облачных сервисов Amazon. Но почему именно этот продукт?
Эту публикацию я бы охарактеризовал как базовую и основополагающую. Сложные механизмы и принципы работы системы скрыты от бизнес-пользователей, но именно они лежат в основе производительного и современного решения. Постараюсь внести ясность и подчеркнуть для вас ключевые особенности.
Кластерные вычисления как основа архитектуры
Кластер состоит из leader node (координатор) и набора compute node (вычислительный узел). Координатор играет роль связующего звена между кластером и пользовательскими приложениями, генерирует планы запросов, управляет коммуникацией. Вычислительные узлы — рабочие лошадки, на которых выполняется основная часть расчетов.
Redshift обеспечивает параллельную обработку данных на кластере машин
Этот принцип широко известен как MPP (massively parallel processing, массово-параллельная архитектура). Не лишним будет упомянуть и другие популярные СУБД, использующие подобные принципы: BigQuery, Vertica, Greenplum, Teradata, Azure SQL DW.
Каждая compute node обладает набором выделенных ресурсов: CPU, memory, disk, которые определяются типом виртуальной машины.
Сегодня в Wheely мы используем 8 узлов типа dc2.large, что в сумме составляет 16 vCPU, 120 GiB памяти, 1.3 TB объем диска. Кто-то может справедливо заметить, что это не такие уж и огромные объемы данных, на что я бы возразил: суть не в объеме, а в том, какие результаты и пользу вы можете выжать из этих данных.
Не могут не радовать элементы гибкости и эластичности (elasticity), в целом присущие облачным сервисам. С ростом бизнеса и потребности в аналитике несколько раз без особого труда производилось расширение кластера: увеличивалось количество узлов (resize), осуществлялся переход на новое поколение виртуальных машин (node upgrade).
Concurrency Scaling позволит поднять временный кластер для того чтобы справиться с пиковой нагрузкой
В моменты пиковых нагрузок производительность на стабильном уровне может поддержать функция concurrency scaling, которая автоматически добавляет вычислительные мощности в виде временных compute nodes, которые «гасятся» после спада нагрузки.
Колоночное хранение и компрессия данных
В противовес классическим операционным СУБД (PostgreSQL, MySQL, SQL Server), хранящим данные в строковом формате (row-oriented storage), Redshift использует все преимущества колоночного хранения (column-oriented storage). Блоки на диске заполняются данными одной колонки, и каждая колонка хранится отдельно от любой другой.
Это дает несколько неоспоримых преимуществ для аналитических нагрузок. Прежде всего для операций проекции (запросе каких-то конкретных колонок). Представьте себе широкую таблицу фактов из 100+ колонок; для формирования результата запроса нам из них понадобятся только 5. При колоночном хранении мы с диска прочтем ровно 5 запрашиваемых колонок. При строковом хранении пришлось бы читать все 100+ колонок и потом отбросить бОльшую часть, что в разы увеличивает интенсивность I/O и нагрузку на диск.
Колоночное хранение организовывает в блоки данные одной колонки (не строки!)
Во-вторых, будучи однородными, данные одной колонки весьма успешно поддаются сжатию (compression). Объясняя на пальцах, нет необходимости хранить наименование тарифа (Business, First, Luxe) для каждой поездки. Достаточно сделать одну запись и указать, на какое количество строк будет распространяться это значение: . Эффект становится особенно заметен, когда количество строк исчисляется сотнями тысяч и миллионами. На деле всё несколько сложнее: кодеков (алгоритмов) сжатия около десятка, и у каждого есть свои особенности и лучшие сценарии для применения.
Однако при должном усердии можно добиться еще более значительного сжатия, чем дефолтные кодеки, выбранные Amazon Redshift. Чуть подробнее этот вопрос я раскрывал в публикации Compressing Redshift columnar data even further with proper encodings.
Пересмотр алгоритмов сжатия данных позволил сэкономить 21% дискового пространства
Ключи сегментации и сортировки вместо индексов
В Redshift вторичные поисковые структуры данных (индексы) в привычном понимании (B-Tree, Bitmap) отсутствуют. Здесь они просто не нужны, и вот почему:
Тонкая настройка позволяет задать принцип, по которому строки будут распределены между узлами кластера: равномерное (EVEN), копия на каждом (ALL), или по ключу (KEY). Эта конфигурация носит название тип сегментации (distribution style).
3 типа распределения каждой строки данных в кластере: KEY, ALL, EVEN
А уже данные в блоках на каждом узле можно физически хранить в заданном порядке, то есть отсортированными. На ум приходит сортировка, например, по монотонно возрастающему идентификатору. Конфигурация, использующая один и тот же атрибут в distribution key, sort key обеспечит использование самого оптимального типа соединения таблиц — SORT MERGE JOIN:
Смотрите на это как на конструкцию ORDER BY в SQL-запросе, сохраняющую порядок в таблице на диске. При этом задействованы могут быть несколько колонок — тогда это уже составной ключ (compound sort key).
В дополнение, есть еще такой очень хитрый вид сортировки как Interleaved sort key, который дает одинаковый вес любой из колонок (или их комбинации) в ключе сортировки. Он отлично подходит к витринам данных, для которых нет одного заранее известного паттерна доступа.
Вкупе с колоночным хранением данных это дает поразительные результаты с точки зрения производительности и использования ресурсов.
Разграничение прав доступа и ресурсных квот
На мой взгляд, это один из фундаментальных вопросов, напрямую влияющий на безопасностью и работоспособность кластера:
Структура лучше хаоса. Концептуально можно сделать так:
Amazon Redshift является форком широко известной PostgreSQL и поэтому синтаксис многим покажется знакомым:
У Amazon Redshift очень неплохие настройки automatic workload management (WLM), т.е. автоматическое управление параллелизмом запросов и выделением ресурсов. Но на каком-то моменте и его усилия достигают предела. Redshift просто не может знать всё о специфике вашей нагрузки:
Конфигурация очередей (WLM) позволяет гибко управлять нагрузкой на кластер
Однако это уже тема отдельной публикации, и потенциально я могу сделать подробный доклад по разграничению прав доступа и тонкой настройки очередей.
Отдельно хочется упомянуть про short-query acceleration. Amazon Redshift гордится использованием ML-алгоритмов для предсказания времени выполнения запросов, и короткие (
до 30 сек.) пропускает впереди тех, что будут выполняться долго. В любом случае, после включении этой фичи у кластера Wheely как будто открылось второе дыхание, а BI здорово ускорился.
Data Lake ближе чем вы можете представить
Что там с возможностью устроить Даталейк на ровном месте? Она есть! Вместе с расширением Redshift Spectrum кластер приобретает новые возможности:
Всё это напоминает широко известные EXTERNAL TABLE в _Hive. _И по сути так оно и есть: под капотом используется именно Hive Metastore.
Благодаря Spectrum в Redshift доступен широкий набор популярных форматов данных
В Wheely мы нашли несколько применений Spectrum:
1. Data Quality Pipeline
Каждый день при помощи S3 и Spectrum выполняется кросс-сверка операционной базы данных (MongoDB) и Хранилища (Redshift). Чуть подробнее я описывал это в публикации Кто ответит за качество аналитики: QA для Хранилища Данных, и с тех пор даже есть значительные усовершенствования.
2. Архивирование холодных данных в S3
Холодные данные сроком давности >3 лет мы выгружаем в S3 в бинарный колоночный формат parquet. Данные всё так же доступны для запросов пользователей, однако дорогостоящее место в кластере Redshift они уже не занимают, что замечательно.
В планах у меня еще одна грандиозная идея: хочется создать полноценный дата-лейк. Но об этом позже.
В случае факапа восстановитесь из бэкапа
Вместо тысячи слов
Обычно я не вставляю мемы в публикации, но тут не смог удержаться. Случайно наткнулся и нашел его очень смешным и жизненным. Ситуация может произойти с каждым, и я не исключение. Благо случай не был связан с витринами и production-таблицами, а произошел в рамках одной ad-hoc задачи.
Суть в том, что с недавнего времени появилась возможность восстановить единичные таблицы из бэкапа в указанное целевое место назначения (target table). Очень легко восстановить удаленную или испорченную таблицу из бэкапа за определенную дату. И именно таблицу, а не снапшот целиком. И это не может не радовать. Несколько раз пользовались, и, надеюсь, хватит.
Восстановить удаленную или испорченную таблицу из бэкапа теперь как никогда просто и быстро
Ну и, конечно же, стоит упомянуть что бэкапы выполняются автоматически с периодичностью в несколько часов и горизонтом в 7 суток.
Очень ждём: in-database ML, native semi-structured data support
Даже несмотря на все перечисленные достоинства всегда есть куда развиваться. И команде Wheely как искушенным пользователям всегда хочется большего.
Облизываясь, я смотрю на новые фичи Amazon Redshift, которые уже находятся в статусе preview (пока доступны для тестовых кластеров):
Кажется, я уже придумал им достойное применение. Очень ждём! И, конечно, подготовим свежие обзоры и доклады.
Интересно? Присоединяйся к команде Wheely. Или свяжись со мной и задай вопросы — буду рад ответить.
Возможности Amazon Redshift
Amazon Redshift – самое быстрое и популярное облачное хранилище данных. Redshift интегрируется с вашим озером данных и предлагает лучшее соотношение цены и производительности, чем у других хранилищ данных (вплоть до 3‑кратного повышения).
Возможности и преимущества
Каждый год мы выпускаем сотни возможностей и улучшений продукта, руководствуясь примерами использования и отзывами клиентов. Узнайте больше о новых возможностях.
Самые широкие возможности интеграции с вашим озером данных и сервисами AWS
Amazon Redshift позволяет быстро и просто работать с данными в открытых форматах, а также без труда подключаться к экосистеме AWS и выполнять интеграцию с ней.
Экспорт в озеро данных и из него, а также запросы к данным. Это единственное облачное хранилище данных, в котором настолько удобно выполнять запросы к данным и записывать их обратно в озеро данных, используя открытые форматы. Сервис позволяет выполнять запросы к данным непосредственно в S3 в таких открытых форматах, как Parquet, ORC, JSON, Avro, CSV и другие, используя привычный ANSI SQL. Чтобы экспортировать данные в озеро данных, просто используйте команду Redshift UNLOAD в своем коде SQL и укажите Parquet в качестве формата файла. Redshift автоматически возьмет на себя форматирование данных и перемещение их в S3. Это позволит вам хранить высокоструктурированные и часто используемые данные в хранилище данных Redshift, а эксабайты структурированных, частично структурированных и неструктурированных данных – в S3. Экспорт данных из Redshift обратно в озеро данных позволяет дополнительно проводить их анализ с помощью таких сервисов AWS, как Amazon Athena, Amazon EMR и Amazon SageMaker.
Федеративные запросы. Новые возможности Redshift в виде федеративных запросов позволят вам получить доступ к содержимому своей операционной реляционной базы данных. Выполните запрос к оперативным данным в одной или нескольких базах данных Amazon RDS, Aurora PostgreSQL, RDS MySQL (ознакомительная версия) и Aurora MySQL, чтобы получить мгновенную видимость комплексных бизнес‑операций без необходимости перемещения данных. Вы можете объединять данные из своего хранилища Redshift, озера данных, а теперь и данные из операционных хранилищ, чтобы принимать более взвешенные решения на их основе. Redshift предлагает комплексные методы оптимизации для сокращения объема данных, перемещаемых по сети, и дополняет их возможностями массово‑параллельной обработки данных для высокопроизводительных запросов. Подробнее.
Redshift ML. Функция Redshift ML упрощает создание, обучение и развертывание моделей Amazon SageMaker с использованием SQL для аналитиков данных и разработчиков баз данных. С помощью Amazon Redshift ML клиенты могут использовать операторы SQL для создания и обучения моделей Amazon SageMaker в Amazon Redshift на основе своих данных, а затем использовать эти модели для прогнозирования, например для обнаружение оттока клиентов и оценки рисков прямо в своих запросах и отчетах. Узнайте, как начать работу, из документации по Redshift. Подробнее.
Аналитическая экосистема AWS. Встроенная интеграция с аналитической экосистемой AWS радикально упрощает управление комплексными аналитическими рабочими процессами. Например, AWS Lake Formation – сервис для удобной настройки безопасного озера данных всего за несколько дней. AWS Glue можно использовать для действий по извлечению, преобразованию и загрузке (ETL) данных в Redshift. Amazon Kinesis Data Firehose предоставляет самый простой способ захвата, преобразования и загрузки потоковых данных в Redshift для анализа в режиме, близком к реальному времени. Вы можете использовать Amazon EMR для обработки данных с помощью Hadoop / Spark и загружать результаты в Amazon Redshift для нужд анализа и бизнес‑аналитики. Amazon QuickSight – это первый сервис бизнес‑аналитики с оплатой по количеству сеансов. Его можно использовать для создания отчетов, визуализаций и информационных панелей при работе с данными Redshift. Вы можете использовать Redshift для подготовки данных к выполнению рабочих нагрузок машинного обучения с помощью Amazon SageMaker. Чтобы ускорить миграцию в Amazon Redshift, вы можете использовать AWS Schema Conversion Tool и AWS Database Migration Service (DMS). Amazon Redshift также тесно интегрирован с Amazon Key Management Service (KMS) и Amazon CloudWatch для обеспечения безопасности, осуществления мониторинга и соответствия требованиям. Вы также можете использовать UDF Lambda для вызова функции Lambda с помощью SQL-запросов по аналогии с вызовом пользовательской функции в Redshift. Кроме того, можно создать UDF Lambda для интеграции с партнерскими сервисами AWS и доступа к другим популярным сервисам AWS, например Amazon DynamoDB или Amazon SageMaker.
Интеграция партнерской консоли Redshift (ознакомительная версия): вы можете ускорить сбор данных и получать ценные данные бизнес-анализа за считанные минуты за счет интеграции с избранными партнерскими решениями в консоли Redshift. С помощью таких решений можно организовать эффективный и оптимизированный перенос данных из таких приложений, как Salesforce, Google Analytics, Facebook Ads, Slack, Jira, Splunk и Marketo, в хранилище данных Amazon Redshift. Кроме того, данная функция позволяет объединять разрозненные наборы данных и анализировать их вместе.
Наилучшая производительность
Amazon Redshift предлагает производительность и гибкость, соответствующие лучшим показателям в отрасли.
Инстансы RA3. Производительность инстансов RA3 превышает возможности любого другого сервиса облачного хранения данных (вплоть до 3‑кратного повышения). Эти инстансы Amazon Redshift обеспечивают максимальную скорость при обработке ресурсоемких рабочих нагрузок с высокими требованиями к вычислительным мощностям. Вы можете указывать необходимое количество инстансов и оплачивать вычислительные ресурсы отдельно от услуг хранилища. Подробнее.
AQUA (Advanced Query Accelerator) for Amazon Redshift AQUA – это новый распределенный кэш с аппаратным ускорением, который позволяет Redshift работать быстрее других облачных корпоративных хранилищ данных (вплоть до 10‑кратного повышения скорости работы), автоматически ускоряя выполнение запросов определенных типов. AQUA использует высокоскоростное твердотельное хранилище, программируемые логические интегральные схемы (FPGA) и AWS Nitro для ускорения выполнения запросов на поиск, фильтрацию и агрегирование крупных наборов данных. Сервис AQUA включен в тип инстанса Redshift RA3 без дополнительной платы. Подробнее.
Эффективное хранение и высокопроизводительная обработка запросов. Amazon Redshift обеспечивает высокую производительность запросов для любых наборов данных объемом от гигабайтов до петабайтов. Столбчатое хранилище, сжатие данных и карты зон сокращают количество операций ввода‑вывода, необходимых для выполнения запросов. Наряду с такими стандартными для отрасли алгоритмами кодирования, как LZO и Zstandard, Amazon Redshift также предлагает специализированное кодирование при сжатии AZ64 для таких типов данных, как числовые данные и данные даты и времени. Это необходимо, чтобы обеспечить как экономию объема хранилища, так и оптимизацию производительности запросов.
Материализованные представления. Материализованные представления Amazon Redshift позволяют значительно повысить производительность запросов для итеративных или прогнозируемых аналитических рабочих нагрузок, таких как отображение информации на информационных панелях и выполнение запросов из инструментов бизнес‑аналитики (BI) и задания по извлечению, загрузке и преобразованию данных (ELT). Материализованные представления можно использовать для упрощения хранения предварительно обработанных результатов выражения SELECT, которые могут ссылаться на одну или несколько таблиц, в том числе внешних, и для управления этими данными. Последующие запросы со ссылкой на материализованные представления могут выполняться намного быстрее за счет использования предварительно обработанных результатов. Amazon Redshift может эффективно поддерживать материализованные представления в постепенной манере, в то время как преимущества производительности с низкой задержкой предоставляются непрерывно. Подробнее.
Машинное обучение для оптимизации пропускной способности и производительности. Продвинутые возможности машинного обучения в Amazon Redshift обеспечивают высокую пропускную способность и производительность даже при переменных рабочих нагрузках или значительной одновременной активности пользователей. Amazon Redshift использует сложные алгоритмы для прогнозирования и классификации входящих запросов на основе их времени выполнения и требований к ресурсам. Такой подход позволяет осуществлять динамическое управление производительностью и параллельными операциями, а также помогает расставлять приоритеты для критически важных рабочих нагрузок. Функция ускорения коротких запросов (SQA) отправляет короткие запросы от таких приложений, как информационные панели, в экспресс‑очередь для немедленной обработки, позволяя им не простаивать в очереди за объемными запросами. Автоматическое управление рабочими нагрузками (WLM) использует машинное обучение для динамического управления памятью и параллельными операциями. Такой подход помогает оптимизировать пропускную способность запросов. Кроме того, теперь вы можете без труда расставить приоритеты для наиболее важных запросов, даже когда их число достигает нескольких сотен. Amazon Redshift – это в том числе самообучающаяся система, которая непрерывно следит за рабочей нагрузкой пользователя, определяет возможности для повышения производительности по мере роста объема использования, эффективно оптимизирует работу и дает рекомендации через Redshift Advisor, когда дальнейшее повышение производительности Amazon Redshift требует явных действий пользователя.
Кэширование результатов. С возможностью кэширования результатов в Amazon Redshift можно обрабатывать повторяющиеся запросы за доли секунды. Благодаря этому значительно увеличивается производительность панелей управления, а также инструментов визуализации и бизнес‑аналитики, которые выполняют повторяющиеся запросы. При получении запроса Amazon Redshift выполняет поиск по кэшу, в котором может храниться результат прошлой обработки такого запроса. Если результат был найден в кэше и данные не изменились, сервис незамедлительно выдает этот результат вместо повторного выполнения запроса.
Широчайшие возможности масштабирования
Независимо от того, масштабируете ли вы данные или число пользователей, ресурс Amazon Redshift практически безграничен.
Хранение петабайтов данных. Amazon Redshift можно быстро и просто масштабировать по мере изменения потребностей пользователя. Чтобы изменить количество или тип узлов в хранилище данных либо осуществить масштабирование в любом направлении в зависимости от текущих потребностей, достаточно нескольких щелчков мышью в консоли или простого вызова API. С управляемым хранилищем емкость добавляется автоматически для поддержки рабочих нагрузок объемом до 8 ПБ сжатых данных. Подробнее об управлении кластером.
Анализ озер данных, объем которых измеряется петабайтами. Вы можете выполнять запросы к петабайтам данных в Amazon S3 без необходимости загружать или преобразовывать эти данные благодаря возможности Redshift Spectrum. Безопасное и экономичное озеро данных с высокой доступностью Amazon S3 можно использовать для хранения неограниченных объемов данных в открытых форматах. Amazon Redshift Spectrum выполняет запросы к тысячам параллельно работающих узлов, чтобы пользователи могли быстро получать результаты вне зависимости от сложности запроса или объема данных.
Неограниченное число параллельных операций. Amazon Redshift обеспечивает стабильно высокую производительность даже при параллельном выполнении тысяч запросов вне зависимости от того, обращаются они к данным в хранилище Amazon Redshift или напрямую к озеру данных в Amazon S3. Возможность параллельного масштабирования Amazon Redshift поддерживает практически неограниченное число одновременно работающих пользователей и одновременных запросов с неизменным качеством обслуживания. Таким образом сервис может добавлять временные ресурсы за несколько секунд по мере роста параллельной нагрузки.
Совместное использование данных: функция совместного использования данных в Amazon Redshift представляет собой безопасный и простой способ обмена оперативными данными между кластерами Redshift. Эта функция повышает гибкость работы организаций, предоставляя им высокоэффективные инструменты для быстрого доступа к подробным данным в любом кластере Redshift без необходимости их копирования или перемещения. Подробнее.
Наилучшее соотношение цены и качества
Использование Amazon Redshift в качестве облачного хранилища данных позволяет оплачивать вычислительные ресурсы отдельно от услуг хранилища, приостанавливать и возобновлять работу кластера, обеспечивает предсказуемые расходы благодаря механизмам управления, а также предоставляет возможность оплаты в процессе работы или экономии до 75 % с обязательством по использованию зарезервированного инстанса.
Гибкие варианты цен. Amazon Redshift является наиболее экономичным хранилищем данных и предоставляет пользователям возможность оптимизировать оплату хранения. Работу с сервисом можно начать по тарифу 0,25 USD в час без обязательств, а затем масштабировать операции всего за 1000 USD за терабайт данных в год. Amazon Redshift – это единственное облачное хранилище данных, которое предлагает сразу несколько вариантов оплаты: оплату ресурсов по требованию без авансовых платежей, резервирование инстансов на 1 или 3 года с экономией вплоть до 75 % либо плату за выполнение конкретных запросов на основании объема данных, считанных сервисом в озере данных Amazon S3. Цены Amazon Redshift включают в себя встроенную защиту и сжатие данных, резервное хранилище и плату за передачу данных. По мере увеличения объема данных вы можете использовать управляемое хранилище на инстансах RA3 для экономичного хранения по цене 0,024 USD за гигабайт в месяц.
Предсказуемая стоимость даже в случае непредсказуемых нагрузок. Amazon Redshift позволяет клиентам масштабировать ресурсы с минимальными колебаниями стоимости операций, поскольку каждый кластер накапливает до одного часа бесплатных кредитов для параллельного масштабирования в день. Этого объема бесплатных кредитов достаточно для обеспечения потребностей в параллельных операциях 97 % клиентов. Благодаря такому подходу клиенты сервиса могут уверенно прогнозировать свои месячные расходы даже в периоды колебания спроса на проведение аналитики.
Выберите тип узла, чтобы получить инстанс с оптимальной стоимостью для ваших рабочих нагрузок. Вы можете выбрать один из трех типов инстансов, чтобы оптимизировать Amazon Redshift под ваши потребности в хранении данных.
Узлы RA3 позволяют масштабировать хранилище независимо от проводимых вычислений. С RA3 вы получаете высокопроизводительное хранилище данных, которое хранит данные в отдельном уровне хранилища. Вам нужно лишь указать объем хранилища данных для обеспечения требуемой производительности запросов.
С помощью узлов Dense Compute (DC) вы можете создавать хранилища данных с очень высокой производительностью, в которых используются мощные ЦПУ, большие объемы ОЗУ и твердотельные накопители (SSD). Это лучший вариант в том случае, если объемы данных не превышают 500 ГБ.
Узлы DS2 (Dense Storage) позволяют создавать большие хранилища данных с использованием жестких дисков (HDD) по низкой цене при покупке зарезервированных инстансов сроком на 3 года. Большинство клиентов, работающих на кластерах DS2, могут перенести рабочие нагрузки на кластеры RA3 и получить в 2 раза больше производительности и объема хранилища при стоимости, равной стоимости DS2.
Для масштабирования кластера или переключения между типами узлов достаточно одного вызова API или нескольких щелчков мышью в Консоли AWS. Подробнее см. на странице цен.
Удобство управления
Amazon Redshift автоматизирует стандартные задачи обслуживания, поэтому вы можете сосредоточиться на анализе данных, не отвлекаясь обеспечение работы хранилища.
Автоматическое выделение ресурсов. Amazon Redshift отличается удобством настройки и управления. Выполнить развертывание нового хранилища данных можно за несколько щелчков мышью в Консоли AWS, после чего Amazon Redshift автоматически выделит необходимую инфраструктуру. Большинство административных задач, таких как резервное копирование и репликация, автоматизированы. Если требуются дополнительные настройки, в сервисе можно вносить корректировки с учетом конкретных рабочих нагрузок. Выпуск новых возможностей осуществляется в фоновом режиме, поэтому пользователям не нужно планировать и выполнять обновление или установку исправлений.
Автоматическое резервное копирование. Данные Amazon Redshift автоматически копируются в Amazon S3, и сервис может асинхронно реплицировать ваши снимки состояния в S3 в другой регион для аварийного восстановления. Чтобы восстановить кластер с помощью Консоли управления AWS или API сервиса Redshift, можно использовать любые снимки состояния системы, в том числе пользовательские. Кластер становится доступным сразу после восстановления метаданных системы. Это позволяет начать отправку запросов, пока данные пользователя загружаются в буфер в фоновом режиме.
Автоматический конструктор таблиц: Amazon Redshift постоянно отслеживает рабочие нагрузки пользователей и использует сложные алгоритмы для поиска путей улучшения физического расположения данных с целью повышения скорости обработки запросов. Автоматический конструктор таблиц выбирает лучшие ключи сортировки и распределения, чтобы оптимизировать производительность кластера под рабочей нагрузкой. Если Amazon Redshift определит, что применение ключа повысит производительность кластера, таблицы будут автоматически изменены без вмешательства администратора. Дополнительные функции, такие как автоматическое удаление Vacuum, автоматическая сортировка таблиц и автоматический анализ, устраняют необходимость ручного обслуживания и настройки кластеров Redshift и обеспечивают максимальную производительность новых кластеров и производственных рабочих нагрузок.
Отказоустойчивость. В сервисе предусмотрено несколько возможностей для повышения надежности кластера хранилища данных. Amazon Redshift ведет непрерывный мониторинг состояния кластера, автоматически реплицирует данные с неисправных дисков и заменяет узлы по мере необходимости для обеспечения отказоустойчивости. Кластеры также можно перемещать в альтернативные зоны доступности (AZ) без потери данных и изменения приложений.
Гибкие возможности работы с запросами. Amazon Redshift позволяет выполнять запросы из консоли или подключать клиентские инструменты SQL, библиотеки и инструменты бизнес‑аналитики. Редактор запросов Консоли AWS предоставляет функциональный интерфейс для выполнения SQL‑запросов в кластерах Amazon Redshift, просмотра результатов и плана выполнения запросов, смежных с запросами пользователя (в том случае, если они исполняются на вычислительных узлах).
Простой API данных для взаимодействия с Amazon Redshift. Amazon Redshift дает возможность без проблем работать с данными всех типов традиционных, облачных и контейнерных бессерверных приложений на основе веб-сервисов и управляемых событиями приложений. API данных Amazon Redshift упрощает доступ к данным, их загрузку и передачу из языков и с платформ программирования, которые поддерживаются SDK AWS, в том числе Python, Go, Java, Node.js, PHP, Ruby и C++. Благодаря API данных нет необходимости в настройке драйверов и управлении подключениями к базам данных. Вместо этого можно запускать команды SQL в кластере Amazon Redshift, просто вызывая защищенную конечную точку API, предоставляемую API данных. API данных обеспечивает управление подключениями к базе данных и буферизацию данных. API данных является асинхронным, поэтому необходимые результаты можно получить позже. Результаты обработки запроса хранятся 24 часа.
Встроенная поддержка расширенной аналитики: Redshift поддерживает стандартные типы скалярных данных (NUMBER, VARCHAR и DATETIME) и имеет встроенную поддержку обработки расширенной аналитики:
Обработка пространственных данных: Amazon Redshift предоставляет полиморфный тип данных GEOMETRY, который поддерживает множество геометрических фигур, таких как Точка, Линия, Полигон и т. д. Redshift также предоставляет соответствующие возможности SQL для построения геометрических фигур, импорта, экспорта, обеспечения доступа к пространственным данным и их обработки. Вы можете добавлять столбцы GEOMETRY в таблицы Redshift и создавать запросы SQL, охватывающие как пространственные, так и непространственные данные. Они позволяют хранить, извлекать и обрабатывать пространственные данные и повышают эффективность аналитической бизнес‑информации путем интеграции пространственных данных в аналитические запросы. Кроме того, благодаря возможности Redshift эффективно выполнять запросы к озерам данных вы можете легко распространить на них обработку пространственных данных, интегрируя внешние таблицы в пространственные запросы. Подробнее см. в документации.
Эскизы HyperLogLog: HyperLogLog — это новый алгоритм, который эффективно оценивает приблизительное количество отдельных значений в наборе данных. Эскиз HLL — это конструкция, которая инкапсулирует информацию об отдельных значениях в наборе данных. Такие эскизы обеспечивают значительное повышение производительности при обработке запросов по вычислению приблизительной кардинальности больших наборов данных. Средняя относительная ошибка составляет от 0,01 до 0,6%. Redshift предоставляет первоклассный тип данных HLL SKETCH и связанные функции SQL, которые можно использовать для создания, сохранения и комбинирования эскизов HyperLogLog. Функция HyperLogLog в Amazon Redshift использует методы коррекции смещения и обеспечивает высокую точность, занимая небольшой объем памяти. Подробнее см. в документации.
Типы данных DATE и TIME: Amazon Redshift предоставляет несколько типов данных (DATE, TIME, TIMETZ, TIMESTAMP и TIMESTAMPTZ) для хранения и обработки данных даты/времени без использования дополнительных инструментов. Типы TIME и TIMESTAMP хранят данные времени без информации о часовом поясе, а типы TIMETZ и TIMESTAMPTZ — данные времени с такой информацией. Вы можете использовать различные SQL-функции даты/времени для обработки соответствующих значений в запросах Redshift. Подробнее см. в документации.
Обработка частично структурированных данных: тип данных Amazon Redshift SUPER позволяет хранить частично структурированные данные, в частности JSON, в таблицах Redshift и использовать язык запросов PartiQL для их эффективной обработки. Тип данных SUPER работает без схем и позволяет хранить вложенные значения, которые могут содержать скалярные величины Redshift, вложенные массивы и структуры. PartiQL — это расширение SQL, которое предоставляет широкие возможности для обработки запросов, например навигацию по объектам и массивам, устранение вложенности массивов, динамическую типизацию и бессхемную семантику. Это позволяет получать расширенную аналитику, в которой классические структурированные данные SQL сочетаются с частично структурированными данными SUPER и обеспечивается высокая производительность, гибкость и простота использования. Подробнее см. в документации.
Интеграция с инструментами сторонних разработчиков. Возможности Amazon Redshift можно расширить, используя лучшие отраслевые инструменты и опыт экспертов по загрузке, преобразованию и визуализации данных. Решения партнеров из нашего обширного списка прошли сертификацию для использования с Amazon Redshift.
Максимальная безопасность и соответствие требованиям
AWS обладает широкими возможностями обеспечения безопасности для удовлетворения самых высоких требований, а Amazon Redshift обеспечивает готовую защиту данных без дополнительных затрат.
Комплексное шифрование. С помощью всего нескольких параметров вы можете настроить использование сертификата SSL в сервисе Amazon Redshift для обеспечения безопасности данных во время передачи, а для шифрования данных при хранении можно использовать протокол AES‑256 с аппаратным ускорением. Если включить шифрование данных при хранении, все данные, записанные на диск, будут зашифрованы вместе с их резервными копиями. По умолчанию сервис Amazon Redshift осуществляет управление ключами шифрования самостоятельно.
Изолирование сети. Amazon Redshift позволяет настроить правила брандмауэра для управления сетевым доступом к кластеру хранилища данных. Вы можете запустить Amazon Redshift внутри сервиса Amazon Virtual Private Cloud (VPC), чтобы изолировать кластер хранилища данных в собственной виртуальной сети и подключить его к имеющейся ИТ‑инфраструктуре с помощью зашифрованной сети IPsec VPN отраслевого стандарта.
Аудит и соответствие требованиям. Сервис Amazon Redshift интегрирован с AWS CloudTrail, что обеспечивает возможность проведения аудита всех вызовов API Redshift. Сервис Redshift вносит в журнал все операции SQL, включая попытки подключения, запросы и изменения хранилища данных. Доступ к этим журналам можно получить с помощью SQL‑запросов к системным таблицам. Также журналы можно сохранить в надежном расположении в Amazon S3. Amazon Redshift соответствует требованиям стандартов SOC 1, SOC 2, SOC 3 и PCI DSS Level 1. Подробнее см. на странице «Соответствие облака AWS требованиям».
Токенизация: настраиваемые функции Amazon Lambda (UDF) позволяют использовать AWS Lambda в качестве UDF в Amazon Redshift и вызывать ее с помощью запросов Redshift SQL. Эта функция позволяет создавать собственные расширения для SQL-запроса, чтобы обеспечить более тесную интеграцию с другими службами и продуктами сторонних производителей. Вы можете создавать UDF Lambda для включения внешней токенизации, маскировки данных, сохранения и удаления идентификационных данных за счет интеграции с такими поставщиками, как Protegrity, а также для организации или снятия защиты конфиденциальных данных на основе разрешений и групп пользователя в ходе обработки запроса.
Точное управление доступом. Детальный контроль безопасности на уровне отдельных строк и столбцов позволяет давать пользователям доступ к конкретным данным. Amazon Redshift интегрирован с AWS Lake Formation, что обеспечивает принятый в Lake Formation контроль доступа на уровне столбцов в том числе для запросов Redshift к данным в озере данных.
Более подробную информацию о продукте см. в документации Amazon Redshift.