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 как инструмент для продвижения вперед.
Ответ 5
Возможно, некоторая информация может быть устаревшей, но она охватывает много вопросов в этом вопросе.
https://blog.openbridge.com/how-is-aws-redshift-spectrum-different-than-aws-athena-9baa2566034b