对于各行各业的企业而言,实时处理和分析数据的能力已成为一项关键需求。ClickHouse 是一款高性能列式数据库管理系统,它与强大的数据集成平台 Estuary Flow 相结合,构成了一个可以从数百个数据源摄取和转换数据的实时分析平台。
本文将详细探讨在 Estuary Flow 的 Dekaf 的促进下,这些技术是如何集成的。我们还将包含一个实践示例,展示如何基于 Salesforce 数据构建实时分析管道。
ClickHouse 的强大功能
ClickHouse 因其在处理大型数据集上的分析查询时速度极快而广受欢迎。其列式存储格式和并行查询执行使其成为实时分析工作负载的理想选择。最近,ClickHouse 通过 ClickPipes 增强了其功能,ClickPipes 是一种简化数据摄取的集成引擎。这主要用于从 Kafka、对象存储和 Postgres 等基础设施软件加载大型数据集。ClickPipes 专注于高吞吐量,将集成具有自身 API 的更细致的业务数据源的任务委托给自定义代码或 Estuary 等数据集成平台。
Estuary Flow:弥合差距
虽然 ClickHouse 和 ClickPipes 提供了分析能力和对高吞吐量摄取的支持,但 Estuary Flow 解决了数据管道中的一个关键挑战:数百个实时数据源的无缝集成。Estuary Flow 支持广泛的数据源,包括 MongoDB、MySQL、Oracle 等数据库的 CDC,以及 Netsuite 和 Salesforce 等 SaaS 平台,而 ClickPipes 并非专注于这些平台。
从历史上看,将这些不同的数据源集成到 ClickHouse 需要自定义代码或更复杂的配置,以及与 Debezium 等其他服务的集成。这种复杂性通常会造成瓶颈,并增加基础设施的复杂性和潜在错误。然而,Estuary Flow 推出的 Dekaf(一个 Kafka API 兼容层)已大大简化了这一过程。
什么是 Dekaf?
Dekaf 是 Estuary Flow 的创新解决方案,它允许使用者从 Estuary Flow 集合中读取数据,就好像它们是 Kafka 主题一样。它还提供了一个模式注册表 API 来管理模式,从而实现与现有基于 Kafka 的工具和工作流程的无缝集成。
工作原理如下
- 使用 Estuary Flow 连接到您的数据源:利用 Estuary 的连接器从您的数据源(如 Salesforce)实时捕获事件。
- 利用 Dekaf 作为您的 Kafka 兼容端点:Dekaf 充当内置的 Kafka 端点,允许 ClickHouse 直接从 Estuary Flow 集合中读取数据。
- 将数据直接摄取到 ClickHouse 中:ClickHouse 使用 ClickPipes 连接到 Estuary Flow,确保平滑的实时数据摄取。
这种集成使您能够构建具有精简架构的强大实时分析应用程序。通过结合 Estuary Flow 和 ClickHouse,您可以快速扩展您的分析能力,以满足现代数据驱动型应用程序的需求。
这对 ClickHouse 用户有何好处?
Dekaf 与 ClickHouse 的集成提供了几个显著的优势
- 简化数据摄取:借助 Dekaf,ClickHouse 用户现在可以直接从 Estuary Flow 支持的数百个实时数据源中摄取数据,而无需中间系统。
- 交付保证:Estuary Flow 确保仅一次交付语义,保持实时数据流的完整性。
- 可扩展性:该集成利用了 Estuary Flow 和 ClickHouse 的可扩展架构,即使对于要求苛刻的工作负载,也能确保高吞吐量和低延迟。
- 降低复杂性:通过消除对 Kafka 和 Debezium 等附加服务的需求,整个系统变得更加精简且易于管理。
- 更广泛的源支持:ClickHouse 用户现在可以使用 Estuary Flow 广泛的连接器库,从而显著扩展他们可以处理的数据源范围。
使用 ClickHouse 和 Estuary Flow 实现实时 Salesforce 分析
让我们来看看设置这种强大集成所需的步骤。
配置实时 Salesforce 连接器
- 前往您的 Estuary Flow 仪表板并搜索实时 Salesforce 捕获连接器。
- 提供您的 Salesforce 凭据和必要的权限。
- 选择您要流式传输的 Salesforce 对象(例如,Accounts、Contacts、Opportunities)。
- 使用 Dekaf 将您的 Estuary Flow 集合公开为 Kafka 兼容的主题。
好消息,此步骤无需配置任何内容 – Dekaf 会自动公开当前正在通过 Kafka-API 兼容 API 从 Salesforce 填充的集合。连接详细信息如下:
- Broker 地址:
dekaf.estuary.dev
- 模式注册表地址:
https://dekaf.estuary.dev
- 安全协议:
SASL_SSL
- SASL 机制:
PLAIN
- SASL 用户名:
{}
- SASL 密码:
Estuary 刷新令牌
(在仪表板中生成刷新令牌) - 模式注册表用户名:
{}
- 模式注册表密码:
与上述 Estuary 刷新令牌相同
在 ClickHouse 中设置 ClickPipes。
要配置 ClickHouse 以使用 ClickPipes 从这些集合中摄取数据
- 选择 Apache Kafka 作为数据源
- 使用上一步中的连接详细信息配置对 Estuary Flow 的访问。
- 确保正确解析传入的数据。
- 启动集成并等待 ClickPipe 被配置,这应该只需要几秒钟。
- 开始在 ClickHouse 中分析您的实时数据!让我们编写一个快速查询,看看是否可以计算 2024 年所有已完成交易的价值。
结论
由 Dekaf 实现的 ClickHouse 和 Estuary Flow 的集成,标志着实时分析能力向前迈出了重要一步。通过将 ClickHouse 的分析能力与 Estuary Flow 广泛的源支持和 Dekaf 的无缝集成相结合,组织现在可以空前轻松地实施强大、可扩展且高效的实时分析解决方案。
随着数据量和速度的持续增长,这种集成为企业提供了一个强大的工具包,使其在数据驱动的世界中保持领先地位,并将实时洞察转化为可操作的策略。