Переносим данные в ClickHouse® быстро и без потерь

Делимся инструкцией и рассказываем, как миграция в ClickHouse® улучшает работу с аналитикой, снижает затраты на облачные вычисления и помогает оптимизировать хранение данных.

ClickHouse — колоночная система управления базами данных (СУБД), предназначенная для работы с большими объёмами информации. Отличается высокой производительностью и эффективностью для решения сложных аналитических задач.

ClickHouse обеспечивает высокую скорость записи и предварительное агрегирование за миллисекунды благодаря сжатию и индексации. Такие возможности СУБД позволяют быстро выполнять аналитические запросы даже при больших объёмах данных и использовать ClickHouse в режиме реального времени.

Для управления кластерами этой СУБД мы разработали Yandex Managed Service for ClickHouse®.

Решение позволяет сосредоточиться на бизнес‑задачах, а обслуживание инфраструктуры берёт на себя Yandex Cloud. Кроме того, в этом сервисе предусмотрены интеграции с другими облачными решениями, среди которых:

  • Yandex Object Storage — облачное хранилище для управления неструктурированными данными, такими как файлы и медиаконтент.

  • Yandex DataLens — платформа визуальной аналитики, позволяющая создавать дашборды и отчёты для принятия обоснованных бизнес‑решений.

  • Yandex Managed Service for Apache Kafka® — управляемый сервис для передачи потоковых данных в реальном времени.

Одна из функций Yandex Managed Service for ClickHouse — механизм TTL (Time to Live), который автоматически делит потоки данных на «холодные» (устаревшие) и «горячие» (актуальные) и по истечении заданного времени перемещает старые данные в более экономичное хранилище, такое как Yandex Object Storage.

Например, информация, которой больше трёх лет, перемещается в объектное хранилище, что экономически выгоднее, чем постоянное её хранение в реляционной базе данных. Актуальные для вычислений записи остаются на дисковом хранилище СУБД, куда так же сохраняются новые поступающие данные.

Механизм TTL эффективно интегрируется с объектным хранилищем, и для его настройки не требуются дополнительные инструменты.

Интеграция Yandex Managed Service for ClickHouse c Object Storage особенно полезна, потому что сервис может обращаться к данным в Yandex Object Storage как к таблице. Это позволяет эффективно использовать различные форматы хранения, такие как JSON, Parquet, TSV и другие, обеспечивая оптимизацию нагрузки на ClickHouse и экономию ресурсов. Благодаря этому холодные данные могут быть обработаны и проанализированы одними и теми же запросами, что и горячие данные, хранимые в реляционном формате.

В качестве примера использования ClickHouse посмотрим на совместный проект сети магазинов Hoff и облачной платформы AERO. Компании внедрили в новую архитектуру DWH связку Yandex Managed Service for ClickHouse с Yandex Object Storage для создания масштабируемого хранилища данных.

Решение помогло в предварительной подготовке сырых данных, которых ежедневно поступало около 15 ГБ. После обработки ClickHouse сохранял 3 ГБ информации, подготовленной для дальнейшей эффективной аналитики. В итоге использование сервисов Yandex Cloud сократило время на подготовку аналитического отчёта до 20 минут.

Если ваш бизнес требует постоянной обработки большого количества запросов в режиме реального времени, то имеет смысл перенести данные в Yandex Managed Service for ClickHouse. Рассмотрим процесс миграции подробнее.

Миграция данных в ClickHouse

Представленный ниже сценарий — наиболее универсальный и самый простой в реализации.

Шаг 1. Перенесите данные в Yandex Object Storage

Рассмотрим в качестве примера выгрузку из сервиса BigQuery. Сначала перенесите данные в объектное хранилище. После этого переместите их в Yandex Object Storage с помощью скрипта или утилиты gsutil rsync, которая синхронизирует состояние двух бакетов (контейнеров для хранения данных в облаке). Подробнее о процессе мы рассказали в документации.

Шаг 2. Настройте отображение данных из Yandex Object Storage в кластере Yandex Managed Service for ClickHouse

В Yandex Managed Service for ClickHouse мы предусмотрели несколько интеграций с объектным хранилищем. Так, с помощью механизма s3Cluster, который позволяет использовать S3‑совместимое API, СУБД может обращаться к Yandex Object Storage фактически как к таблице (о запуске скрипта — в практическом руководстве). А при помощи функции TTL вы можете установить правила, по которым данные будут разделяться на «холодные», которые будут храниться в Yandex Object Storage после перемещения, и «горячие», которые останутся в ClickHouse.

Шаг 3. Проанализируйте данные с помощью Yandex DataLens

За счёт интеграции Yandex Managed Service for ClickHouse с сервисом Yandex DataLens вы можете за несколько кликов создать визуализацию обработанных данных или провести исследование.

Процесс миграции данных в ClickHouse

Что в итоге

При сценарии переноса данных, описанном выше, вы можете влиять на формат выгрузки и степень сжатия — например, выбирая формат JSON или Parquet и используя сжатие GZIP. Управляя этими параметрами, можно уменьшить объём мигрируемых данных и сократить время, необходимое на перемещение, что, в свою очередь, снижает стоимость миграции. Встроенные интеграции, например с S3 API и TTL, дополнительно облегчают этот процесс, позволяя автоматизировать перенос данных и управление их жизненным циклом.

Yandex Managed Service for ClickHouse легко интегрируется с другими облачными сервисами, такими как Yandex Object Storage для хранения данных и Yandex DataLens для их визуализации. Это облегчает построение комплексных аналитических решений на одной платформе.

В сравнении с другими СУБД, ClickHouse отличается более высокой производительностью при обработке больших объёмов данных и выполнении сложных аналитических запросов.

Напишите нам

Начать пользоваться Yandex Cloud

Тарифы

Узнать цены и рассчитать стоимость

Мероприятия

Календарь событий Yandex Cloud
Переносим данные в ClickHouse® быстро и без потерь
Войдите, чтобы сохранить пост