Athena vs Redshift Spectrum

Я как бы оцениваю Athena & Redshift Spectrum. Оба служат той же цели, Spectrum нуждается в кластере Redshift, тогда как Athena является чистым сервером без сервера. Athena использует Presto, а Spectrum использует свой механизм Redshift

Существуют ли какие-либо особые недостатки для спектра Athena или Redshift? Любые ограничения на использование Athena или Spectrum?

Ответ 1

Я использовал оба варианта в нескольких вариантах использования и заключил:

Преимущества Redshift Spectrum:

  • Позволяет создавать таблицы Redshift
  • Возможность эффективно сочетать таблицы Redshift с таблицами спектра Redshift

Если вам не нужны эти вещи, тогда вы должны также рассмотреть Афину

Athena отличия от спектра Redshift:

  • Billing. Это основное различие, и в зависимости от вашего варианта использования вы можете найти гораздо дешевле другого
  • Спектакль. Я обнаружил Афину чуть быстрее.
  • Синтаксис SQL и функции. Athena происходит от presto и немного отличается от Redshift, который имеет свои корни в postgres.
  • Возможности подключения. Его достаточно легко подключить к Athena с помощью API, JDBC или ODBC, но многие другие продукты предлагают "стандартное из коробки" соединение с Redshift

Кроме того, для любого решения убедитесь, что вы используете метаданные AWS Glue, а не Athena, поскольку ограничений меньше.

Ответ 2

Этот вопрос поднимался довольно давно, но, тем не менее, я думаю, что могу внести свой вклад в обсуждение.

Что такое Афина?

Amazon Athena - это интерактивная служба запросов, которая позволяет легко анализировать данные в Amazon S3 с использованием стандартного SQL. Athena не имеет сервера, поэтому нет инфраструктуры для управления, и вы платите только за запросы, которые выполняете. (Из документа)

Довольно прямолинейно, верно?

Затем возникает вопрос, что такое Redshift Spectrum и почему люди из Amazon сделали это, когда Афина была в значительной степени решением для запросов к внешним таблицам?

Итак, ребята из AWS хотели создать расширение для Redshift (которое сейчас довольно популярно как управляемое столбчатое хранилище данных) и дать ему возможность общаться с внешними таблицами (обычно S3). Но они хотели облегчить жизнь пользователям Redshift, в основном аналитикам. Многие аналитические инструменты не поддерживают Athena, но поддерживают Redshift в настоящее время. Но создание кластера Reshift и хранение данных были узким местом. Опять же, Redshift не настолько масштабируем по горизонтали, и он требует некоторого времени простоя в случае добавления новых машин. Если вы являетесь пользователем Redshift, то удешевление хранилища значительно упростит вашу жизнь.

Я предлагаю вам использовать спектр Redshift в следующих случаях:

  • Вы уже являетесь пользователем Redshift и хотите сохранить больше данных в Redshift.

  • Вы хотите переместить более холодные данные во внешнюю таблицу, но все же в некоторых случаях хотите объединиться с таблицами Redshift.

  • Искренняя выгрузка ваших данных и если вы просто хотите импортировать данные в Pandas или любые другие инструменты для анализа.

А Афина может быть полезна, когда:

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

Скажем так, Redshift + Redshift Spectrum действительно мощная с большим количеством обещаний. Но до зрелости еще далеко.

Ответ 3

Одним большим ограничением и разным фактором является возможность использования структурированных данных. Athena поддерживает его как для форматов JSON, так и для Parquet, в то время как Redshift Spectrum принимает только плоские данные.

Другим является наличие функций ГИС, которые Athena имеет, а также lambdas, которые иногда пригождаются.

Теперь, если вы запустили автономный новый Postgres, тогда он делает все и многое другое, но по сравнению с Redshift (и Spectrum) - это инструмент, который перестает развиваться.

Ответ 4

Если вы используете базу данных Redshift, тогда будет разумно использовать Spectrum вместе с красным смещением, чтобы получить требуемую производительность.

Однако, если вы начинаете изучать варианты, то мы можем рассматривать Athena как инструмент для продвижения вперед.