DoubleCloud 即将停止服务。迁移到 ClickHouse,享受限时免费迁移服务。立即联系我们 ->->

博客 / 工程

使用 ClickHouse 和 Estuary Flow 进行实时 Salesforce 分析

author avatar
Estuary
2024 年 9 月 25 日

estuary_clickhouse.png

能够实时处理和分析数据已成为各行各业企业的一项关键需求。ClickHouse 是一种高性能列式数据库管理系统,结合 Estuary Flow(一个强大的数据集成平台),构成了一个能够摄取和转换来自数百个来源数据的实时分析平台。

本文探讨了如何详细集成这些技术(由 Estuary Flow 的 Dekaf 促进)。我们还将提供一个动手示例,展示如何构建一个基于 Salesforce 数据的实时分析管道。

ClickHouse 的强大功能

ClickHouse 因其在处理大型数据集上的分析查询方面速度极快而广受欢迎。其列式存储格式和并行查询执行使其成为实时分析工作负载的理想选择。最近,ClickHouse 通过 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 的创新解决方案,允许使用者像读取 Kafka 主题一样读取 Estuary Flow 集合中的数据。它还提供了一个用于管理架构的架构注册表 API,从而能够与现有的基于 Kafka 的工具和工作流程无缝集成。

它是如何工作的

  1. **使用 Estuary Flow 连接到您的数据源:**利用 Estuary 的连接器从您的来源(如 Salesforce)实时捕获事件。
  2. **利用 Dekaf 作为您的 Kafka 兼容端点:**Dekaf 充当内置 Kafka 端点,允许 ClickHouse 直接从 Estuary Flow 集合读取数据。
  3. **将数据直接摄取到 ClickHouse:**ClickHouse 使用 ClickPipes 连接到 Estuary Flow,确保数据摄取的流畅和实时性。

这种集成使您能够使用简化的架构构建强大的实时分析应用程序。通过结合 Estuary Flow 和 ClickHouse,您可以快速扩展分析能力,以满足现代数据驱动应用程序的需求。

这对 ClickHouse 用户有什么好处?

Dekaf 与 ClickHouse 的集成提供了几个显著的优势

  1. **简化的数据摄取:**使用 Dekaf,ClickHouse 用户现在可以直接摄取来自 Estuary Flow 支持的数百个实时源的数据,而无需中间系统。
  2. **交付保证:**Estuary Flow 确保 exactly-once(精确一次)的交付语义,维护实时数据流的完整性。
  3. **可扩展性:**该集成利用了 Estuary Flow 和 ClickHouse 的可扩展架构,即使对于苛刻的工作负载,也能确保高吞吐量和低延迟。
  4. **降低复杂性:**通过消除对 Kafka 和 Debezium 等额外服务的需要,整个系统变得更加精简,更容易管理。
  5. **更广泛的源支持:**ClickHouse 用户现在可以访问 Estuary Flow 广泛的连接器库,大大扩展了他们可以使用的数据源范围。

使用 ClickHouse 和 Estuary Flow 实现 Salesforce 实时分析

让我们看一下设置此强大集成所需的步骤。

配置 Salesforce 实时连接器

  1. 转到您的 Estuary Flow 仪表板,搜索 Salesforce 实时捕获连接器。

estuary_step_1.png

  1. 提供您的 Salesforce 凭据和必要的权限。

estuary_step_2.png

  1. 选择您要流式传输的 Salesforce 对象(例如,帐户、联系人、商机)。

estuary_step_3.png

  1. 使用 Dekaf 将您的 Estuary Flow 集合公开为 Kafka 兼容的主题。

好消息是,此步骤无需配置 - Dekaf 会自动公开现在通过 Kafka-API 兼容 API 从 Salesforce 填充的集合。连接详细信息如下

  • 代理地址:dekaf.estuary.dev
  • 架构注册表地址:https://dekaf.estuary.dev
  • 安全协议:SASL_SSL
  • SASL 机制:PLAIN
  • SASL 用户名:{}
  • SASL 密码:Estuary 刷新令牌 (生成 仪表板中的刷新令牌)
  • 架构注册表用户名:{}
  • 架构注册表密码:与上述相同的 Estuary 刷新令牌

在 ClickHouse 中设置 ClickPipes。

要配置 ClickHouse 使用 ClickPipes 从这些集合摄取数据

  1. 选择 Apache Kafka 作为数据源

estuary_step_5.png

  1. 使用上一步中的连接详细信息配置对 Estuary Flow 的访问。

estuary_step_6.png

  1. 确保正确解析传入的数据。

estaury_step_7.png

  1. 启动集成并等待 ClickPipe 完成配置,这只需几秒钟。

estuary_step_8.png

  1. 开始在 ClickHouse 中分析您的实时数据!让我们编写一个快速查询,看看是否可以计算 2024 年所有已关闭交易的价值。

estuary_step_9.png

结论

Dekaf 支持的 ClickHouse 和 Estuary Flow 的集成标志着实时分析能力的重大飞跃。通过将 ClickHouse 的分析能力与 Estuary Flow 广泛的源支持和 Dekaf 的无缝集成相结合,组织现在可以以前所未有的轻松方式实施强大、可扩展和高效的实时分析解决方案。

随着数据量和速度的不断增长,这种集成为企业提供了强大的工具包,以在数据驱动的世界中保持领先地位,将实时洞察转化为可行的策略。

分享此文章

订阅我们的时事通讯

关注功能发布、产品路线图、支持和云产品信息!
正在加载表单...
关注我们
Twitter imageSlack imageGitHub image
Telegram imageMeetup imageRss image