Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Kafka 与 ClickHouse 集成

Apache Kafka 是一个开源的分布式事件流平台,被数千家公司用于构建高性能数据管道、流式分析、数据集成以及关键业务应用。ClickHouse 提供了多种方案,可 Kafka 和其他兼容 Kafka API 的消息代理 (如 Redpanda、亚马逊 MSK) 读取数据,也可向其写入数据

可选方案

为你的使用场景选择合适的方案取决于多种因素,包括 ClickHouse 的部署类型、数据流向以及运维要求。

选项 部署类型 全托管 Kafka 到 ClickHouse ClickHouse 到 Kafka
ClickPipes for Kafka Cloud, BYOC (即将推出!)
Kafka Connect Sink Cloud, BYOC, Self-hosted
Kafka 表引擎 Cloud, BYOC, Self-hosted

如需更详细地比较这些方案,请参见如何选择方案

ClickPipes for Kafka

ClickPipes 是一个托管式集成平台,只需点击几个按钮,就能轻松从多种来源摄取数据。由于它是全托管的,并专为生产环境工作负载打造,ClickPipes 可显著降低基础设施和运维成本,无需依赖外部数据流处理和 ETL 工具。

主要功能

  • 针对 ClickHouse Cloud 优化,提供极致性能
  • 支持横向和纵向扩展,适用于高吞吐量工作负载
  • 内置容错能力,支持可配置副本和自动重试
  • 可通过 ClickHouse Cloud UI、Open APITerraform 进行部署和管理
  • 提供企业级安全保障,支持云原生授权 (IAM) 和私有连接 (PrivateLink)
  • 支持广泛的数据源,包括 Confluent Cloud、亚马逊 MSK、Redpanda Cloud 和 Azure Event Hubs
  • 支持大多数常见的序列化格式 (JSON、Avro、Protobuf)

入门

要开始使用 ClickPipes for Kafka,请参阅参考文档,或前往 ClickHouse Cloud UI 的 Data Sources 选项卡。

Kafka Connect Sink

Kafka Connect 是一个开源框架,可充当集中式数据枢纽,用于在 Kafka 与其他数据系统之间进行简单的数据集成。ClickHouse Kafka Connect Sink connector 提供了一种可扩展且高度可配置的方案,可从 Apache Kafka 和其他兼容 Kafka API 的消息代理中读取数据。

主要特性

  • 可配置为支持精确一次语义
  • 支持大多数常见序列化格式 (JSON、Avro、Protobuf)
  • 持续针对 ClickHouse Cloud 进行测试验证

快速开始

要开始使用 ClickHouse Kafka Connect Sink,请参阅参考文档

Kafka 表引擎

Kafka 表引擎 可用于从 Apache Kafka 和其他兼容 Kafka API 的消息代理读取数据,也可向其写入数据。此选项随开源 ClickHouse 一同提供,适用于所有部署类型。

主要特性

  • 可用于读取写入数据
  • 随开源 ClickHouse 一同提供
  • 支持大多数常见的序列化格式 (JSON、Avro、Protobuf)

快速开始

要开始使用 Kafka 表引擎,请参阅参考文档

选择一种方案

Product Strengths Weaknesses
ClickPipes for Kafka • 面向高吞吐、低延迟场景的可扩展架构
• 内置监控和 schema 管理
• 私有网络连接 (通过 PrivateLink)
• 支持 SSL/TLS 身份验证和 IAM 授权
• 支持通过编程方式进行配置 (Terraform、API 端点)
• 不支持将数据推送到 Kafka
• 至少一次语义
Kafka Connect Sink • 精确一次语义
• 可对数据转换、批处理和错误处理进行细粒度控制
• 可部署在私有网络中
• 可通过 Debezium 对 ClickPipes 尚未支持的数据库进行实时复制
• 不支持将数据推送到 Kafka
• 部署和维护的运维复杂度较高
• 需要具备 Kafka 和 Kafka Connect 相关专业知识
Kafka 表引擎 • 支持将数据推送到 Kafka
• 运维上更易于部署
• 至少一次语义
• 消费者的横向扩缩容能力有限,无法独立于 ClickHouse server 进行扩缩容
• 错误处理和调试选项有限
• 需要具备 Kafka 相关专业知识

其他选项

Navigation