Amazon RedShift заменяет Hadoop для данных ~ 1XTB?

12

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

Кроме того, как Amazon Redshift сравнивается с Hadoop с точки зрения сложности, стоимости и производительности установки?

trienism
источник
Вы имеете в виду Hadoop или какой-то конкретный аналог Redshift, например Impala?
Шон Оуэн
@SeanOwen в моем вопросе, я имел в виду Apache Hadoop. Хотя было бы интересно сравнить и Импалу.
тринизм

Ответы:

12

tl; dr: Они заметно отличаются во многих аспектах, и я не думаю, что Redshift заменит Hadoop.

-Function
Вы не можете запустить ничего, кроме SQL в Redshift. Возможно, самое главное, вы не можете запускать любые типы пользовательских функций в Redshift. В Hadoop вы можете, используя множество языков (Java, Python, Ruby ... вы называете это). Например, NLP в Hadoop прост, а в Redshift более или менее невозможен. Т.е. есть много вещей, которые вы можете делать в Hadoop, но не в Redshift. Это, наверное, самое важное отличие.

Профиль производительности
Выполнение запроса в Redshift в большинстве случаев значительно более эффективно, чем в Hadoop. Тем не менее, эта эффективность происходит от индексации, которая выполняется при загрузке данных в Redshift (здесь я использую термин indexingочень свободный). Поэтому было бы здорово, если вы загрузите свои данные один раз и выполните несколько запросов, но если вы хотите выполнить, например, только один запрос, вы можете фактически потерять производительность в целом.

-Производительный профиль
Какое решение выигрывает в цене, зависит от ситуации (например, производительности), но вам, вероятно, понадобится довольно много запросов, чтобы сделать его дешевле, чем Hadoop (точнее, Amazon Elastic Map Reduce). Например, если вы делаете OLAP, очень вероятно, что Redshift выйдет дешевле. Если вы выполняете ежедневные ETL, то Hadoop с большей вероятностью выйдет дешевле.

Сказав это, мы заменили часть нашего ETL, которая была сделана в Hive, на Redshift, и это был довольно большой опыт; в основном для простоты разработки. Механизм запросов Redshift основан на PostgreSQL и является очень зрелым по сравнению с Hive. Его характеристики ACID облегчают рассуждения об этом, а более быстрое время отклика позволяет проводить больше испытаний. Это отличный инструмент, но он не заменит Hadoop.

РЕДАКТИРОВАТЬ : Что касается сложности установки, я бы даже сказал, что с Hadoop проще, если вы используете AWS EMR. Их инструменты настолько зрелы, что смехотворно легко запустить вашу работу в Hadoop. Инструменты и механизмы, связанные с работой Redshift, еще не настолько развиты. Например, Redshift не может справиться с промежуточной загрузкой, и поэтому вам нужно придумать что-то, что превращает это в пакетную загрузку, что может добавить некоторую сложность вашему ETL.

Энно Сиоджи
источник
2
easier to develop because of Redshift's maturityпротиворечит Redshift isn't that mature yetтак каков твой вердикт?
М. Мимпен
@ M.Mimpen: отредактированный ответ, чтобы быть более конкретным
Enno Shioji
5

Текущий предел размера для Amazon Redshift составляет 128 узлов или 2 ПБ сжатых данных. Может быть около 6PB без сжатия, хотя пробег зависит от сжатия. Вы всегда можете сообщить нам, если вам нужно больше. anurag @ aws (я запускаю Amazon Redshift и Amazon EMR)

Анураг Гупта
источник
3

Лично я не думаю, что это так сложно настроить кластер Hadoop, но я знаю, что это иногда больно, когда вы начинаете.

Ограничения размера HDFS намного превышают ТБ (или вы имели в виду exabyte?). Если я не ошибаюсь, он масштабируется до йоттабайтов или какого-то другого измерения, для которого я даже не знаю слова. Что бы это ни было, оно действительно большое.

Такие инструменты, как Redshift, имеют свое место, но я всегда беспокоюсь о решениях конкретных поставщиков. Моя главная проблема всегда заключается в том, «что мне делать, если я недоволен их служением?» - Я могу зайти в Google и перенести свою аналитическую работу в их парадигму, или я могу перейти в hadoop и перенести ту же самую работу в эту систему. В любом случае, мне придется изучать что-то новое и много работать, переводя вещи.

Тем не менее, приятно иметь возможность загружать набор данных и быстро приступать к работе, особенно если у меня короткий жизненный цикл. Amazon хорошо поработал над решением проблемы безопасности данных.

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

Стив Каллестад
источник
3
Я предполагаю, что ссылка ОП на ТБ означает «для данных о том, для чего вы можете использовать Hadoop». Если у вас есть несколько петабайт или больше, Redshift явно не подходит. (Я полагаю, что он ограничен сотней узлов по 16 ТБ.)
Тим Гудман