我们很高兴地宣布了适用于 ClickHouse Cloud 的 Fivetran 目的地

图片

本文字数:2618;估计阅读时间:7 分钟

审校:庄晓东(魏庄)

本文在公众号【ClickHouseInc】首发

图片

我们很高兴地宣布,Fivetran 目的地现已在 ClickHouse Cloud 上推出。借助 Fivetran 全面的连接器,用户可以快速从 500 多个来源加载数据。

此目的地目前提供公共预览,这标志着 Partner-Built 计划的最新贡献之一,采用了最近发布的 Fivetran SDK。如果您希望尝试这一目的地,请查看我们为此博客文章准备的简短视频或访问此处的详细文档。

我们欢迎您对此目的地的初始版本提供反馈和贡献,其代码已在 Apache 2.0 许可下开源。

对于那些渴望尝试新目的地的人,下文将讨论一些实施和最佳使用场景的重要要点。

图片

为什么选择 Fivetran?

Fivetran 是一家领先的数据集成技术提供商,专注于提供自动化解决方案,以简化不同来源和目的地之间的数据管道流程。其平台设计用于简化数据提取和加载过程,通过提供强大的、完全托管的连接器来自动适应模式和 API 变化,从而确保数据完整性,减少用户的持续维护工作。Fivetran 支持超过 500 种数据源,涵盖数据库、SaaS 应用程序和云存储等多个领域,是希望将数据集中用于 ClickHouse 分析的企业的理想选择。

这个新的 ClickHouse 目的地实现了直接将数据从 Fivetran 支持的各种系统无缝地自动加载到 ClickHouse 中。用户可以利用 ClickHouse 进行分析,而无需手动管理数据管道。此集成显著减轻了数据工程团队的工作负担,并允许分析师专注于从实时数据中获取可操作的见解。

何时应使用该目的地?

我们建议在需要将中等数量的业务数据从其他应用程序加载到 ClickHouse 中的用例中使用该目的地。这些应用程序通常具有复杂的 API,需要自定义集成代码才能与 ClickHouse 同步,同时支持处理插入、更新和删除操作。有了 ClickHouse 目的地,这种复杂性由 Fivetran 处理,并呈现为几个简单的点击,非常适合希望将 Zendesk 工单、Slack 聊天或 Salesforce 账户加载到 ClickHouse 中以实时查询和可视化的业务团队。

在实施目的地时,我们认真考虑了支持更新和删除操作的需求,利用 ClickHouse 的功能确保它们得到有效处理。因此,您可能还希望探索将 Fivetran 用于较小的变更数据捕获 (CDC) 用例。

图片

对于大型的 TB 和 PB 级别的数据容量,通常来自对象存储和 Kafka 等源头,我们建议使用现有的 ClickHouse 工具,比如 ClickHouse Kafka Connect 和 ClickPipes 适用于云用户。这些工具通常更加经济实惠,专门为大数据量的批量和增量传输设计,这些数据已经是结构化的格式。

关键设计决策

Fivetran SDK 对目标数据源提出了几个要求。其中一些要求直接影响了关键的设计决策,以及初版目的地仅支持 ClickHouse Cloud:

  • 需要保证顺序一致性——Fivetran 支持多种连接器源,其中许多天生支持更新和删除事件的概念。这些事件需要目的地来处理。Fivetran 不能保证更新将包含完整的事件内容。我们考虑使用轻量级更新来解决这个问题,但我们认为这会难以处理包含更多更新的工作负载。因此,我们决定采用一种方法,即在重新插入更新副本之前,目的地从 ClickHouse 中读取行的完整内容。

    由于目的地可能连接到 ClickHouse 集群前面的代理或负载均衡器,我们需要确保读取是顺序一致的,即,如果某行最近被插入到一个节点中,那么对于同一行的读取必须始终优先于其他节点(不会出现过时的读取)。为此,我们使用了 select_sequential_consistency=1 设置。对于 ClickHouse Cloud 的 SharedMergeTree (SMT) 引擎来说,这个操作比 ReplicatedMergeTree 轻量得多,并且可以可靠地进行扩展。对于 ReplicatedMergeTree,这需要启用 quorum 插入(默认情况下,SMT 中的插入是 quorum 插入),并且会带来一定的开销。

  • 高效处理更新和删除——为了处理更新和删除,Fivetran 目的地使用了 ReplacingMergeTree (具体来说是 SharedReplacingMergeTree)。

    这被认为是在 ClickHouse 中处理此类工作负载的最佳方式。

    为了确保分析查询返回准确的计数,用户需要确保表名包含 FINAL 后缀。

  • 采用 Go 语言实现——虽然 Fivetran 提供了几种 SDK,但我们选择了 Golang 作为实现语言。

    这种语言的客户端已经很成熟,并且与我们内部产品 ClickPipes 的现有使用一致。

由于目的地依赖的 SharedMergeTree 仅限于 ClickHouse Cloud,因此当前的实现不能与 ClickHouse OSS 一起使用。由于 Fivetran 是专门的 SaaS 服务,我们不预期会有许多需要 OSS 支持的用例。不过,代码采用了宽松的许可,我们欢迎对支持 ReplicatedMergeTree 进行有效支持的贡献。有兴趣的人可以查看这个问题。

一个简单的示例

为了展示新的目的地,我们演示了从 Zendesk 加载数据的过程。Zendesk 的工单代表着对分析非常有用的业务数据宝库。传统上,这需要用户熟悉 Zendesk 的 API 和 ClickHouse 的数据摄入过程,但我们展示了 Fivetran 如何在几个简单的点击中实现这一目标!

该目的地还包含了内置文档,供希望获得更全面体验的用户使用。或者,您可以查看由 Fivetran 托管的广泛的[文档](https://fivetran.com/docs/destinations/clickhouse)。

结论

Fivetran 的新 Clickhouse 目的地现已在公共预览中可用,可帮助加载复杂的数据源。立即尝试该目的地,并在存储库中提供您的反馈。【https://github.com/ClickHouse/clickhouse-fivetran-destination/issues/3】

征稿启示

面向社区长期正文,文章内容包括但不限于关于 ClickHouse 的技术研究、项目实践和创新做法等。建议行文风格干货输出&图文并茂。质量合格的文章将会发布在本公众号,优秀者也有机会推荐到 ClickHouse 官网。请将文章稿件的 WORD 版本发邮件至:Tracy.Wang@clickhouse.com

图片

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值