Миграция данных из Amazon Redshift в ClickHouse
Этот документ предоставляет введение в миграцию данных из Amazon Redshift в ClickHouse.
Введение
Amazon Redshift — это облачное хранилище данных, которое предоставляет возможности отчетности и аналитики для структурированных и полуструктурированных данных. Он был разработан для обработки аналитических нагрузок на больших наборах данных, используя принципы столбцовой базы данных, аналогичные ClickHouse. В рамках предложения AWS он часто является решением по умолчанию, к которому обращаются пользователи AWS для удовлетворения своих аналитических потребностей.
Хотя он привлекателен для существующих пользователей AWS благодаря своей тесной интеграции с экосистемой Amazon, пользователи Redshift, которые используют его для работы с приложениями аналитики в реальном времени, сталкиваются с необходимостью более оптимизированного решения для этой цели. В результате они все чаще обращаются к ClickHouse, чтобы воспользоваться превосходной производительностью запросов и сжатием данных, либо в качестве замены, либо как "скоростной уровень", развернутый вместе с существующими нагрузками Redshift.
ClickHouse против Redshift
Для пользователей, глубоко интегрированных в экосистему AWS, Redshift представляет собой естественный выбор при возникновении потребности в хранилище данных. Redshift отличается от ClickHouse в этом важном аспекте — он оптимизирует свой движок для нагрузок хранилища данных, требующих сложной отчетности и аналитических запросов. В различных режимах развертывания следующие две ограничения затрудняют использование Redshift для аналитических нагрузок в реальном времени:
- Redshift компилирует код для каждого плана выполнения запроса, что добавляет значительные накладные расходы на выполнение первого запроса. Эти накладные расходы могут быть оправданы, когда схемы запросов предсказуемы и скомпилированные планы выполнения могут быть сохранены в кэше запросов. Однако это создает трудности для интерактивных приложений с переменными запросами. Даже когда Redshift может использовать этот кэш компиляции кода, ClickHouse быстрее по большинству запросов. См. "ClickBench".
- Redshift ограничивает одновременные запросы до 50 во всех очередях, что (хоть и достаточно для BI) делает его неподходящим для высококонкурентных аналитических приложений.
С другой стороны, хотя ClickHouse также может использоваться для сложных аналитических запросов, он оптимизирован для аналитических нагрузок в реальном времени, либо поддерживая приложения, либо действуя как уровень ускорения хранилища. В результате пользователи Redshift обычно заменяют или дополняют Redshift ClickHouse по следующим причинам:
Преимущество | Описание |
---|---|
Низкая задержка запросов | ClickHouse достигает низкой задержки запросов, включая для различных схем запросов, при высокой конкуренции и в условиях потоковых вставок. Даже когда ваш запрос не попадает в кэш, что неизбежно в интерактивной аналитике для пользователей, ClickHouse все равно может обрабатывать его быстро. |
Высокие лимиты одновременных запросов | ClickHouse устанавливает гораздо более высокие лимиты на одновременные запросы, что жизненно важно для приложений в реальном времени. В ClickHouse, как в самоуправляемом, так и в облачном варианте, вы можете увеличить свои вычислительные ресурсы, чтобы достичь необходимой вашему приложению конкуренции для каждой службы. Уровень разрешенной конкуренции запросов настраивается в ClickHouse, причем ClickHouse Cloud по умолчанию равен 1000. |
Превосходное сжатие данных | ClickHouse предлагает превосходное сжатие данных, что позволяет пользователям снизить свои общие расходы на хранение (и, таким образом, стоимость) или сохранять больше данных за ту же цену и получать больше аналитической информации в реальном времени из своих данных. См. "Эффективность хранения ClickHouse и Redshift" ниже. |