Postgres 和 ClickHouse - “默认数据栈”
在过去的几年中,一种通用的参考架构正在兴起:客户正在一起使用 Postgres 和 ClickHouse 来解决他们的大部分数据挑战。
一方面,您有 Postgres,最流行的开源事务数据库,它非常适合存储和查询应用程序数据,支持关键任务的事务和 Web 应用程序用例。另一方面,您有 ClickHouse,最流行的开源分析数据库,它非常适合支持所有分析和报告用例,为面向客户和内部应用程序提供支持。它们都秉持相同的开源精神。这些原因使得 Postgres 和 ClickHouse 成为解决客户广泛数据挑战的强大组合,从而使它们成为“默认数据栈”。
在 ClickHouse,我们一直致力于让客户轻松实现这种架构——一起使用 Postgres 和 ClickHouse。我们朝着这个方向迈出的最新一步是收购 PeerDB,一家领先的 Postgres CDC 提供商。这实现了从 Postgres 到 ClickHouse 的事务数据无缝复制,为实时分析和数据仓库用例提供动力。
宣布我们与 Supabase 的合作 - Supabase 和 ClickHouse,强强联合
作为朝着这个方向迈出的下一步,我们很高兴宣布我们与 Supabase 的合作,Supabase 是 Postgres 的领先托管服务提供商。Supabase 的愿景是为应用程序开发人员提供使用 Postgres 构建 AI 和 Web 应用程序的无缝体验,其功能包括开箱即用的身份验证、实时功能、边缘函数等。我们对 ClickHouse Cloud 也有类似的愿景,旨在为开发人员和数据工程师构建分析应用程序提供无缝体验,其功能包括无服务器、自动扩展和 ClickPipes。
我们双方都致力于 Postgres 和 ClickHouse 这两个社区的开源。我们还拥有快速增长的共同客户群。此次合作的愿景是使客户能够无缝集成 Supabase 和 ClickHouse,帮助他们构建数据栈,并大大缩短各种应用程序的上市时间。
“Supabase 团队很高兴与 ClickHouse 团队一起开发出色的开发者体验。ClickHouse 和 Postgres 正在迅速成为 Supabase 大型客户的默认数据栈。我们许多增长最快的 AI 客户正在扩展规模时将这两种开源工具结合使用。” - Paul Copplestone,Supabase 首席执行官
“ClickHouse 非常高兴与 Supabase 合作,让客户可以轻松地一起使用这两种技术。通过此次合作,我们旨在让 Postgres 开发人员更轻松地结合使用 ClickHouse,并构建大规模的实时、数据驱动的应用程序。” - Aaron Katz,ClickHouse 公司首席执行官
以下是来自共同客户 Adora 的证明,该公司将 Supabase 和 ClickHouse 结合使用
PostgreSQL 为我们提供了所需的 ACID 保证,而 ClickHouse 为我们提供了执行复杂分析查询的能力,这些查询在 PostgreSQL 上会超时。借助 Supabase 和 ClickHouse Cloud,我们的大部分运营复杂性都消失了。借助 PeerDB,我们不必牺牲查询性能或 ACID 保证 - 我们可以将数据存储在两个世界中并从中查询。我们很高兴看到这次合作将为更无缝地一起使用 Supabase 和 ClickHouse 带来什么。- Oliver Tan,Adora.so 创始工程师
PeerDB 中用于 Postgres CDC 到 ClickHouse 的原生 Supabase OAuth
作为此次合作的一部分,我们宣布的第一个功能是在 PeerDB 中原生集成 Supabase OAuth,从而实现 Postgres 到 ClickHouse 的无缝复制。借助此功能,客户只需单击一下即可将他们的 Supabase Postgres 数据库添加为数据源(又名 Peers),并开始将数据从 Supabase 复制到 ClickHouse,以实现实时分析。他们无需显式输入数据库凭据,例如主机名、数据库名称等。PeerDB 还执行必要的检查,以确保 Postgres 已准确配置为复制到 ClickHouse。您可以在此 文档 中找到有关使用 PeerDB 从 Supabase 到 ClickHouse 的简单 Postgres 复制的详细步骤。以下是此功能在实际操作中的快速演示
我们正在积极努力将 PeerDB 集成到 ClickPipes 中,ClickPipes 是 ClickHouse 的原生摄取服务。此集成将为 ClickPipes 中的 Postgres CDC 连接器提供支持。我们预计此集成将在未来几个月内向客户提供。原生 OAuth 功能以无缝添加 Supabase 作为数据源也将扩展到 ClickPipes。
非常感谢 Supabase 添加了 关键功能,例如改进的磁盘管理和公开修改重要的 Postgres 复制相关配置。这些功能对于确保从 Supabase 到 ClickHouse 的 Postgres CDC 的顺利集成至关重要。
PeerDB Cloud 中对 IPV6 的支持
我们最近在 PeerDB Cloud 中添加了 IPv6 支持,以方便将 Supabase 作为原生源 Peer。以前,Supabase 客户必须启用一个附加组件才能支持 IPv4,以便将 Supabase 用作复制到 ClickHouse 的源 peer。此功能使 Supabase 集成更加顺畅,因为他们不再需要启用 IPv4 附加组件;PeerDB 将使用 Supabase 默认提供的 IPv6 地址复制数据。一旦 PeerDB 完全集成到 ClickPipes 中,我们计划将 IPv6 支持扩展到 ClickPipes 中的 Postgres CDC 连接器。
clickhouse_fdw:从 Supabase 查询 ClickHouse
一旦 Supabase 中的应用程序数据持续复制到 ClickHouse,用户就可以使用 Supabase 提供的 clickhouse_fdw 扩展程序,开始从 Postgres 中查询 ClickHouse 中的数据。这实现了各种用例,包括:a) 合并到单个查询界面以支持事务 (OLTP) 和分析 (OLAP) 应用程序;以及 b) 提供一种简单的方式来连接存储在 Postgres 中的事务数据与分析数据,例如日志、遥测数据、事件等。以下是一个端到端演示,展示了 Postgres CDC 到 ClickHouse 和 clickhouse_fdw 的实际应用
请注意,clickhouse_fdw 支持下推 LIMIT、WHERE、ORDER BY 等,但不适用于聚合或 JOIN。对于下推 JOIN,您可以使用 FDW 支持参数化视图——Supabase 最近添加的一项令人兴奋的功能。演示展示了这一点。如果您的用例需要更高级的 SQL 查询,其中包含数十行包含子查询、GROUP BY、JOIN 等,建议直接查询 ClickHouse。
未来的展望?
我们正在探索一些更多的想法,以使客户更容易集成 Supabase 和 ClickHouse。如果您已经在使用(或计划使用)Supabase 和 ClickHouse,我们很乐意与您交流,了解更多关于您的用例的信息,并听取您关于如何使集成更顺畅的反馈。
请联系我们,分享您的 Supabase + ClickHouse 故事,并提供有关更顺畅集成的反馈。我们希望您成为这段旅程的一部分,并直接影响我们的路线图!
开始集成 Supabase、ClickHouse 和 PeerDB
希望您喜欢阅读这篇博客!如果您想开始使用 Supabase Postgres、ClickHouse 和 PeerDB 进行它们之间的复制,您可以点击以下链接。
-
Supabase: database.new
-
ClickHouse: clickhouse.com
-
用于 Postgres CDC 的 PeerDB: peerdb.io
Supabase 团队的博客链接: https://supabase.com/blog/supabase-clickhouse-partnership