Вокруг Hadoop и его экосистемы много ажиотажа. Однако на практике, когда многие наборы данных находятся в терабайтовом диапазоне, не более ли разумно использовать Amazon RedShift для запросов больших наборов данных, вместо того, чтобы тратить время и усилия на создание кластера Hadoop?
Кроме того, как Amazon Redshift сравнивается с Hadoop с точки зрения сложности, стоимости и производительности установки?
apache-hadoop
map-reduce
aws
trienism
источник
источник
Ответы:
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.
источник
easier to develop because of Redshift's maturity
противоречитRedshift isn't that mature yet
так каков твой вердикт?Текущий предел размера для Amazon Redshift составляет 128 узлов или 2 ПБ сжатых данных. Может быть около 6PB без сжатия, хотя пробег зависит от сжатия. Вы всегда можете сообщить нам, если вам нужно больше. anurag @ aws (я запускаю Amazon Redshift и Amazon EMR)
источник
Лично я не думаю, что это так сложно настроить кластер Hadoop, но я знаю, что это иногда больно, когда вы начинаете.
Ограничения размера HDFS намного превышают ТБ (или вы имели в виду exabyte?). Если я не ошибаюсь, он масштабируется до йоттабайтов или какого-то другого измерения, для которого я даже не знаю слова. Что бы это ни было, оно действительно большое.
Такие инструменты, как Redshift, имеют свое место, но я всегда беспокоюсь о решениях конкретных поставщиков. Моя главная проблема всегда заключается в том, «что мне делать, если я недоволен их служением?» - Я могу зайти в Google и перенести свою аналитическую работу в их парадигму, или я могу перейти в hadoop и перенести ту же самую работу в эту систему. В любом случае, мне придется изучать что-то новое и много работать, переводя вещи.
Тем не менее, приятно иметь возможность загружать набор данных и быстро приступать к работе, особенно если у меня короткий жизненный цикл. Amazon хорошо поработал над решением проблемы безопасности данных.
Если вы хотите избежать Hadoop, всегда будет альтернатива. Но с этим не так сложно работать, как только вы начнете с ним работать.
источник