Плюсы и минусы 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 без проблем заменяет любое неисправное оборудование и постоянно создает резервные копии ваших данных, в том числе по регионам, если это необходимо.