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

Интеграция Kafka с ClickHouse

Apache Kafka — это распределённая платформа потоковой передачи событий с открытым исходным кодом, используемая тысячами компаний для высокопроизводительных конвейеров данных, потоковой аналитики, интеграции данных и критически важных для бизнеса приложений. ClickHouse предоставляет несколько способов чтения из и записи в Kafka и другие брокеры, совместимые с Kafka API (например, Redpanda, Amazon MSK).

Доступные варианты

Выбор подходящего варианта для вашего сценария использования зависит от нескольких факторов, включая тип развертывания ClickHouse, направление потока данных и эксплуатационные требования.

ВариантТип развертыванияПолностью управляемыйKafka → ClickHouseClickHouse → Kafka
ClickPipes for KafkaCloud, BYOC (скоро!)
Kafka Connect SinkCloud, BYOC, Self-hosted
Движок таблиц KafkaCloud, BYOC, Self-hosted

Более детальное сравнение этих вариантов см. в разделе Выбор варианта.

ClickPipes for Kafka

ClickPipes — это управляемая платформа интеграции, которая делает приём данных из широкого набора источников таким же простым, как пара кликов. Поскольку это полностью управляемое решение, специализированное для промышленных нагрузок, ClickPipes значительно снижает инфраструктурные и эксплуатационные затраты, устраняя необходимость во внешних средствах потоковой передачи данных и инструментах ETL.

Совет

Это рекомендуемый вариант, если вы используете ClickHouse Cloud. ClickPipes — полностью управляемое решение, специально разработанное для обеспечения максимальной производительности в облачных средах.

Основные возможности

  • Оптимизирован для ClickHouse Cloud и обеспечивает сверхвысокую производительность
  • Горизонтальная и вертикальная масштабируемость для высоконагруженных сценариев
  • Встроенная отказоустойчивость с настраиваемыми репликами и автоматическими повторами
  • Развертывание и управление через ClickHouse Cloud UI, Open API или Terraform
  • Защита уровня Enterprise с поддержкой облачно-нативной авторизации (IAM) и частных сетевых подключений (PrivateLink)
  • Поддержка широкого спектра источников данных, включая Confluent Cloud, Amazon MSK, Redpanda Cloud и Azure Event Hubs
  • Поддержка наиболее распространённых форматов сериализации (JSON, Avro, Protobuf — скоро!)

Начало работы

Чтобы начать работу с ClickPipes for Kafka, обратитесь к справочной документации или перейдите на вкладку Data Sources в интерфейсе ClickHouse Cloud.

Kafka Connect Sink

Kafka Connect — это open source-фреймворк, который работает как централизованный хаб данных для простой интеграции данных между Kafka и другими системами. Коннектор ClickHouse Kafka Connect Sink предоставляет масштабируемый и гибко настраиваемый вариант чтения данных из Apache Kafka и других брокеров, совместимых с Kafka API.

Совет

Это рекомендуемый вариант, если для вас важна высокая настраиваемость или вы уже используете Kafka Connect.

Основные возможности

  • Может быть настроен для поддержки семантики exactly-once
  • Поддерживает наиболее распространённые форматы сериализации (JSON, Avro, Protobuf)
  • Непрерывно тестируется с ClickHouse Cloud

Начало работы

Чтобы начать работу с ClickHouse Kafka Connect Sink, обратитесь к справочной документации.

Движок таблиц Kafka

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

Совет

Это рекомендуемый вариант, если вы самостоятельно развертываете ClickHouse и вам нужен вариант с низким порогом входа, или если вам нужно записывать данные в Kafka.

Основные возможности

  • Может использоваться для чтения и записи данных
  • Поставляется в составе ClickHouse с открытым исходным кодом
  • Поддерживает наиболее распространённые форматы сериализации (JSON, Avro, Protobuf)

Начало работы

Чтобы начать работу с движком таблиц Kafka, см. справочную документацию.

Выбор варианта

ПродуктПреимуществаНедостатки
ClickPipes for Kafka• Масштабируемая архитектура для высокой пропускной способности и низкой задержки
• Встроенный мониторинг и управление схемой
• Приватные сетевые подключения (через PrivateLink)
• Поддержка аутентификации SSL/TLS и авторизации IAM
• Поддержка программной конфигурации (Terraform, API-эндпоинты)
• Не поддерживает отправку данных в Kafka
• Семантика at-least-once
Kafka Connect Sink• Семантика exactly-once
• Позволяет тонко управлять преобразованием данных, пакетированием и обработкой ошибок
• Может быть развернут в приватных сетях
• Позволяет выполнять репликацию в реальном времени из баз данных, которые ещё не поддерживаются в ClickPipes, с помощью Debezium
• Не поддерживает отправку данных в Kafka
• Операционно сложен в развертывании и сопровождении
• Требует экспертизы по Kafka и Kafka Connect
Kafka table engine• Поддерживает отправку данных в Kafka
• Прост в развертывании и настройке
• Семантика at-least-once
• Ограниченное горизонтальное масштабирование потребителей. Нельзя масштабировать независимо от сервера ClickHouse
• Ограниченные возможности обработки ошибок и отладки
• Требуется экспертиза по Kafka

Другие варианты

  • Confluent Cloud - Confluent Platform предоставляет возможность загрузить и запустить ClickHouse Connector Sink в Confluent Cloud или использовать HTTP Sink Connector для Confluent Platform, который интегрирует Apache Kafka с API через HTTP или HTTPS.

  • Vector - Vector — это независимый от поставщика конвейер данных. Благодаря возможности читать данные из Kafka и отправлять события в ClickHouse это является надёжным вариантом интеграции.

  • JDBC Connect Sink - Коннектор Kafka Connect JDBC Sink позволяет экспортировать данные из топиков Kafka в любую реляционную базу данных с JDBC-драйвером.

  • Пользовательский код - Пользовательский код, использующий Kafka и ClickHouse клиентские библиотеки, может быть подходящим в случаях, когда требуется кастомная обработка событий.