Перейти к основному содержимому
Перейти к основному содержимому

Миграция данных из 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" ниже.