Чем AWS Redshift Spectrum отличается от AWS Athena?

Какой механизм запросов SQL для озера данных? Redshift Spectrum против Афины

Этот вопрос об интерактивных сервисах запросов AWS Athena и базе данных Redshift Spectrum неоднократно поднимался в различных сообщениях и на форумах. Однако большая часть обсуждения сосредоточена на технических различиях между этими ресурсами Amazon Web Services.

Athena и Redshift Spectrum - отличный выбор для соответствующих случаев использования. Вместо того, чтобы пытаться расшифровать технические различия, публикация формулирует выбор как вопрос о покупке или ценности.

Вот четыре вопроса, которые вы можете задать себе, чтобы определить, что лучше всего подходит для вашей ситуации:

1. Вы уже являетесь клиентом Redshift

Если вы уже являетесь клиентом Redshift, Amazon Redshift Spectrum поможет сбалансировать потребность в добавлении емкости в систему. Spectrum позволяет выйти за рамки обычного хранилища данных и плотного хранилища, напрямую запрашивая озеро данных. Это может сэкономить вам большие деньги, поскольку вы можете перенести данные жизненного цикла из Redshift в S3.

Например, предположим, что у вас есть транзакционная таблица редко используемых данных объемом 100 ГБ в одной из ваших операционных баз данных Redshift. Зачем платить за хранение этих данных в Redshift, если можно настроить размер кластера для хранения большего количества данных при перемещении во внешние таблицы на AWS S3 и запросить данные с помощью Spectrum? Такой подход может свести к минимуму необходимость масштабирования. Redshift требует нового узла для повышения согласованной производительности как для простого, так и для сложного запроса, что может быть дорогостоящим!

Примечание. Вы по-прежнему платите «за запрос» за объем данных, просканированных с помощью Spectrum, так же, как и Athena. В обоих случаях вы платите за каждый терабайт отсканированных данных. Преимущество этого подхода заключается в разгрузке данных, поэтому вы можете более эффективно использовать локальное хранилище в Redshift. Кроме того, сложные аналитические запросы будут одинаково хорошо работать в любой системе и будут иметь одинаковый профиль затрат на вычислительные ресурсы. Одно предостережение заключается в том, что у вас все еще есть ограничения для одновременных пользователей в Redshift для различных аналитических рабочих нагрузок по сравнению с Athena.

Быстрый выбор? Придерживайтесь Redshift против Афины

Как существующий пользователь Redshift, я был бы менее склонен использовать Athena из-за существующих инвестиций в Redshift. Это включает в себя любые вспомогательные операции с данными, которые обрабатывают данные в хранилище Redshift, или уникальные и сложные типы данных, поддерживаемые Redshift, которые могут нарушить существующие рабочие процессы.

Имейте в виду, что данные Spectrum находятся во внешней схеме. Ничего страшного, но убедитесь, что любая обработка данных ETL или ELT для использования в Spectrum должна учитывать внешние таблицы. Любой коннектор, загружающий данные в Redshift, должен будет убедиться, что он поддерживает формат файла и рабочие процессы, связанные со Spectrum.

Федеративные запросы Redshift были выпущены в 2020 году. Эти новые возможности могут склонить чашу весов в пользу использования Redshift.

Наконец, помните, что ключевое отличие от Athena заключается в том, что для доступа к Spectrum требуется активный, работающий экземпляр Redshift. Redshift Spectrum - это не вариант без Redshift. Доступ к тандему «Redshift + Redshift Spectrum» связан с расходами, которые могут оказаться нецелесообразными (прямо сейчас), если вы НЕ являетесь клиентом AWS Redshift.

2. Вы НЕ являетесь существующим клиентом Redshift

Если вы не являетесь заказчиком Redshift, тогда становится интереснее. AWS Athena основана на Facebook Presto и включает некоторые достоинства Apache Hive. Предполагая, что у вас есть объекты на S3, которые может потреблять Афина, вы можете начать с Афины вместо раскручивания кластеров Redshift.

Запрос в Athena и Spectrum обычно имеет одинаковую стоимость вычислений - 5 долларов на один сканируемый терабайт. Одно существенное отличие состоит в том, что Spectrum требует Redshift, который необходимо учитывать при расчете общей стоимости.

Есть данные в местах, отличных от вашего озера данных? Вы можете расширить Athena с помощью федеративных служб запросов.

Использование Athena открывает возможность создать полный стек бессерверной аналитики данных.

Быстрый выбор? Исследуйте Афину

Для вдохновения ознакомьтесь с публикацией Создание стека бизнес-аналитики без серверов с помощью Apache Parquet, Tableau и Amazon Athena. Athena может иметь исключительную ценность при правильной реализации, особенно в сочетании с аналитическими службами, которые поддерживают кеши данных, такие как Tableau, и форматы хранения, такие как Parquet.

Наконец, Athena - это бессерверный механизм запросов по запросу, который также может работать как объединенные механизмы запросов. Это может быть привлекательно, учитывая тот факт, что многие команды могут не захотеть запускать, поддерживать или оплачивать набор кластеров Amazon Redshift. Если Athena подходит для вашей рабочей нагрузки и вы хотите разделить хранилище и вычислительные ресурсы, очевидный выбор вполне доступен.

3. Поддерживают ли ваши аналитические инструменты Amazon Athena?

Проверьте свои инструменты, можно ли получить доступ к Athena через ODBC или JDBC? Возможно, выбранный вами аналитический инструмент не поддерживает Athena, но поддерживает Redshift.

Например, Tableau 10.3 официально выпустила поддержку Athena. Looker также выпустил поддержку Афины. Знаете ли вы, что Power BI поддерживает Athena через соединения ODBC?

Однако могут быть инструменты, не поддерживающие Афину, на которые вы полагаетесь. С другой стороны, они могут не поддерживать Спектрум!

Быстрый выбор? Это зависит!

Итак, мы возвращаемся к первому пункту (1) относительно того, что включает в себя ваш текущий стек. Если вы пошли по пути Афины, ваш выбор инструментов может быть более ограниченным, чем Redshift. Для некоторых это может стать препятствием. Путь Redshift может предоставить вам больше возможностей для работы с данными и аналитическими инструментами.

Мы предлагаем вам протестировать инструмент, который работает с Athena, Redshift и Redshift Spectrum.

Наконец, независимо от выбора Spectrum или Athena, не упускайте из виду внешние таблицы оптимизации форматов данных, необходимые для повышения эффективности и снижения затрат.

4. Могу ли я использовать Amazon Athena И Redshift Spectrum?

Это не обязательно должен быть выбор между AWS Athena и Redshift. Почему? Ничто не мешает вам использовать одновременно Athena или Spectrum. В качестве вычислительных механизмов службы запросов и AWS Redshift Spectrum, и AWS Athena могут обращаться к одному и тому же озеру данных!

Я могу запросить файл Parquet размером 1 ТБ на S3 в Athena так же, как и в Spectrum. Данные, оптимизированные для S3 в формате Apache Parquet, хорошо подходят для Athena AND Spectrum.

Переход между ними становится несколько тривиальным. Это также верно при переносе данных Apache Parquet из S3 Data Lake в Microsoft Azure Data Lake!

Однако, если вы используете оба вместе, вам следует внимательно присмотреться к своей архитектуре, если это произойдет. Если вы не будете осторожны, вы можете увеличить расходы на поддержание такого типа стека.

Если вы спрашиваете себя: Что такое озеро данных? мы рассмотрим основы, которые могут помочь вам выбрать правильный путь. Athena и Redshift Spectrum предоставляют убедительные и экономичные решения для проверки содержимого вашего озера.

Начало работы с Athena или Spectrum

Создание платформ данных и инфраструктуры данных - тяжелая работа. Независимо от того, являетесь ли вы командой из одного человека или группой из 100 человек, последнее, что вам нужно, - это летать вслепую и застревать в решениях самообслуживания (иначе говоря, без обслуживания).

Еще никогда не было так просто воспользоваться преимуществами готового к аналитике озера данных с интерактивными сервисами запросов Amazon Athena и Redshift Spectrum. Наш сервис AWS lake education оптимизирует и автоматизирует настройку, обработку, организацию и загрузку данных для использования в Athena и Spectrum.

С нашим нулевым администрированием, сервисом озера данных, вы отправляете данные из поддерживаемых источников данных, а наш сервис автоматически обрабатывает прием данных.

Наш подход показывает, насколько быстро пользователи могут выполнять загрузку данных в озеро данных, чтобы они могли быстро возвращать результаты запроса.

Использованная литература: