Доступные варианты
| Вариант | Тип развертывания | Полностью управляемое | Из Kafka в ClickHouse | Из ClickHouse в Kafka |
|---|---|---|---|---|
| ClickPipes for Kafka | Cloud, BYOC (скоро!) | ✅ | ✅ | |
| Приёмник Kafka Connect | Cloud, BYOC, [Самоуправляемый] | ✅ | ||
| Движок таблицы Kafka | Cloud, BYOC, [Самоуправляемый] | ✅ | ✅ |
ClickPipes for Kafka
Основные возможности
- Оптимизировано для ClickHouse Cloud и обеспечивает исключительно высокую производительность
- Горизонтальная и вертикальная масштабируемость для рабочих нагрузок с высокой пропускной способностью
- Встроенная отказоустойчивость с настраиваемым числом реплик и автоматическими повторными попытками
- Развертывание и управление через интерфейс ClickHouse Cloud, Open API или Terraform
- Безопасность уровня Enterprise с поддержкой облачной авторизации (IAM) и закрытого подключения (PrivateLink)
- Поддерживает широкий спектр источников данных, включая Confluent Cloud, Amazon MSK, Redpanda Cloud и Azure Event Hubs
- Поддерживает большинство распространённых форматов сериализации (JSON, Avro, Protobuf)
Начало работы
Data Sources в интерфейсе ClickHouse Cloud.
Приёмник Kafka Connect
Основные возможности
- Можно настроить для поддержки семантики «ровно один раз»
- Поддерживает наиболее распространённые форматы сериализации (JSON, Avro, Protobuf)
- Непрерывно тестируется с ClickHouse Cloud
Начало работы
Движок таблицы Kafka
Основные возможности
- Можно использовать для чтения и записи данных
- Входит в состав open-source ClickHouse
- Поддерживает наиболее распространённые форматы сериализации (JSON, Avro, Protobuf)
Начало работы
Выбор варианта
| Продукт | Преимущества | Недостатки |
|---|---|---|
| ClickPipes for Kafka | • Масштабируемая архитектура с высокой пропускной способностью и низкой задержкой • Встроенные мониторинг и управление схемой • Подключения по частной сети (через PrivateLink) • Поддерживает аутентификацию SSL/TLS и авторизацию IAM • Поддерживает программную настройку (Terraform, конечные точки API) | • Не поддерживает отправку данных в Kafka • Семантика «как минимум один раз» |
| Kafka Connect Sink | • Семантика «ровно один раз» • Позволяет детально управлять преобразованием данных, батчингом и обработкой ошибок • Может быть развернут в частных сетях • Позволяет настраивать репликацию в реальном времени из баз данных, которые ClickPipes пока не поддерживает, через Debezium | • Не поддерживает отправку данных в Kafka • Сложен в настройке и сопровождении с точки зрения эксплуатации • Требует экспертизы в Kafka и Kafka Connect |
| Kafka table engine | • Поддерживает отправку данных в Kafka • Прост в эксплуатации и настройке | • Семантика «как минимум один раз» • Ограниченные возможности горизонтального масштабирования консьюмеров. Их нельзя масштабировать независимо от сервера ClickHouse • Ограниченные возможности обработки ошибок и отладки • Требует экспертизы в Kafka |
Другие варианты
- Confluent Cloud - Confluent Platform предоставляет возможность загрузить и запустить ClickHouse Connector Sink в Confluent Cloud или использовать коннектор HTTP Sink для Confluent Platform, который интегрирует Apache Kafka с API по HTTP или HTTPS.
- Vector - Vector — это независимый от поставщика конвейер данных. Благодаря возможности читать данные из Kafka и отправлять события в ClickHouse, это надёжный вариант интеграции.
- JDBC Connect Sink - Коннектор Kafka Connect JDBC Sink позволяет экспортировать данные из топиков Kafka в любую реляционную базу данных с драйвером JDBC.
- Собственный код - Собственный код с использованием Kafka и клиентских библиотек ClickHouse может быть уместен в случаях, когда требуется пользовательская обработка событий.