Плюсы и минусы BigQuery против Amazon Redshift

Сравнение Google BigQuery и Amazon Redshift показывает, что оба могут отвечать одному и тому же набору требований, в основном отличаются от планов затрат. Кажется, что Redshift более сложна для настройки (определение ключей и работы по оптимизации) по сравнению с Google BigQuery, что, возможно, имеет проблему с объединением таблиц.

Есть ли список плюсов и минусов Google BigQuery и Amazon Redshift?

Ответы

Ответ 1

Я разместил это сравнение на reddit. Быстро достаточно многолетний практикующий RedShift пришел, чтобы прокомментировать мои заявления. Для полного разговора см. https://www.reddit.com/r/bigdata/comments/3jnam1/whats_your_preference_for_running_jobs_in_the_aws/cur518e.

Определение размера кластера:

  • Redshift попросит вас выбрать несколько процессоров, RAM, HD и т.д. и включить их.
  • BigQuery все равно. Используйте его, когда захотите, не требуется никаких необходимых ресурсов.

Почасовая оплата при выполнении ничего:

  • Redshift попросит вас платить за час каждого из этих серверов, даже если вы ничего не делаете.
  • В режиме ожидания BigQuery взимает только $0,02 в месяц за каждый сохраненный ГБ. 2 цента в месяц за ГБ, что он.

Скорость запросов:

  • Производительность Redshift ограничена количеством процессоров, которые вы платите за
  • BigQuery прозрачно приносит столько ресурсов, сколько необходимо для запуска вашего запроса в секундах.

Indexing:

  • Redshift предложит вам индексировать (корректировать: распространять) ваши данные по определенным критериям, и вы сможете выполнять быстрые запросы на основе этого индекса.
  • BigQuery не имеет индексов. Каждая операция выполняется быстро.

Вакуумирование:

  • Redshift требует периодических операций технического обслуживания и "вакуума", которые работают в течение последних часов. Вы платите за каждый из этих часов сервера.
  • BigQuery этого не делает. Забудьте о "вакуумировании".

Разделение и распределение данных:

  • Redshift требует, чтобы вы подумали о том, как распространять данные на своих серверах, чтобы повысить производительность - оптимизация, которая работает только для определенных запросов.
  • BigQuery этого не делает. Просто запустите любой запрос, который вы хотите.

Потоковые данные:

  • Невозможно (?) с Redshift.
  • BigQuery легко обрабатывает до 100 000 строк в секунду для каждой таблицы.

Растущий кластер:

  • Если у вас больше данных или увеличено количество одновременных пользователей, это будет болезненно с Redshift.
  • BigQuery будет работать.

Многозонная зона:

  • Вам нужен многозонный Redshift для доступности и целостности данных? Болезненные.
  • По умолчанию BigQuery многозонализован.

Чтобы попробовать BigQuery, вам не нужна кредитная карта или какое-либо время настройки. Просто попробуйте (быстрые инструкции, чтобы попробовать BigQuery).

Когда вы будете готовы помещать свои собственные данные в BigQuery, просто скопируйте свои разделенные журналы JSON из разделов в Google Cloud Storage и импортируйте их.

См. подробное руководство по ценообразованию хранилища данных в облаке: Общие сведения о облачном ценообразовании Часть 3.2 - Дополнительные хранилища данных

Ответ 2

Amazon Redshift - это стандартная база данных SQL (на основе Postgres) с функциями MPP, которые позволяют ее масштабировать. Эти функции также требуют некоторого соответствия вашей модели данных для достижения максимальной производительности. Он поддерживает большое количество стандарта SQL, и большинство инструментов, которые могут общаться с Postgres, могут использовать его без изменений.

BigQuery не является базой данных, в том смысле, что там он не использует стандартный SQL и не обеспечивает соединения JDBC/ODBC. Это уникальный сервис с собственным API и интерфейсами. Он обеспечивает ограниченную поддержку запросов SQL, но большинство пользователей взаимодействуют с помощью пользовательского кода (Java, Python и т.д.). Некоторые сторонние инструменты добавили поддержку BigQuery, но существующие инструменты не будут работать без изменений.

tl; dr - Redshift лучше взаимодействует с существующими инструментами и использует сложный SQL. BigQuery лучше подходит для пользовательских программ и групп, которым не нравится SQL.

ОБНОВЛЕНИЕ 2017-04-17 - Здесь намного более свежая сводка различий в стоимости и скорости (завернутая в коммерческое предложение, так что YMMV). TL; DR - Redshift обычно быстрее и будет дешевле, если вы будете регулярно запрашивать данные. http://blog.panoply.io/a-full-comparison-of-redshift-and-bigquery


ОБНОВЛЕНИЕ - Поскольку я продолжаю получать голоса по этому (🤷‍♂️), здесь актуальный ответ на пункты в другом ответе:

Определение размера вашего кластера:

  • Redshift позволяет адаптировать ваши расходы к вашему использованию. Если вам нужны самые быстрые запросы, выберите узлы SSD, а если вы хотите минимально возможную цену за ГБ, выберите узлы HDD. Начните с малого и добавляйте узлы в любое время.

Почасовая оплата, когда ничего не делается:

  • Redshift держит ваш кластер готовым к запросам, может отвечать за миллисекунды (кэш результатов) и обеспечивает простой, предсказуемый ежемесячный счет.
  • Например, даже если какой-либо сценарий случайно выполнит 10 000 гигантских запросов за выходные, ваш счет Redshift вообще не увеличится.

Скорость запросов:

  • Производительность Redshift является абсолютно лучшей в своем классе и все время ускоряется. В 3-5 раз быстрее за последние 6 месяцев.

Индексация:

  • Redshift не имеет индексов. Это позволяет вам определять ключи сортировки для оптимизации производительности от быстрой до безумно быстрой.

Вакуумирование:

  • Redshift теперь автоматически запускает обычное обслуживание, такое как ANALYZE и VACUUM DELETE, когда у вашего кластера есть свободный ресурс.

Разделение и распределение данных:

  • Redshift никогда не требует распространения. Это позволяет вам определять ключи распределения, которые могут очень быстро создавать даже огромные объединения.
  • {Спросите у конкурентов о выступлении в группе

Потоковая передача данных:

  • Redshift имеет 2 варианта
    • Передача данных в реальном времени в Redshift с помощью Amazon Kinesis Firehose.
    • В целом пропустите прием пищи, мгновенно опрашивая ваше реальное время на S3, как только он приземлится (и на высоких скоростях), используя внешние таблицы Redshift Spectrum.

Рост вашего кластера:

  • Redshift может упруго изменить размер большинства кластеров за несколько минут.

Мульти зона:

  • Redshift без проблем заменяет любое неисправное оборудование и постоянно создает резервные копии ваших данных, в том числе по регионам, если это необходимо.