Postgres 负责事务,ClickHouse 负责分析
将 Postgres 用于事务型应用负载 (OLTP) ,例如创建订单、更新库存和管理用户账户。Postgres 是你的记录系统 (system of record) :相关变更可以在同一个事务中一并提交或回滚。 当应用还需要对大规模数据集进行分析时,可以添加一个 ClickHouse 服务,并通过 ClickPipes 将两者连接起来:- 您的应用程序在 Postgres 中读写业务数据,并使用事务将相关变更归为一组。
- 配置 ClickPipes,将选定的表复制到 ClickHouse,并通过 CDC (变更数据捕获) 持续复制已提交的插入、更新和删除操作。
- 在 ClickHouse 中运行分析查询。您可以直接连接 ClickHouse,也可以通过
pg_clickhouse扩展从 Postgres 查询其中的表。
pg_clickhouse 并不提供跨 Postgres 与 ClickHouse 的共享事务。若读取操作要求获取最新已提交的应用状态,应使用 Postgres。
您可以先只使用 Postgres,待有需要时再引入 ClickHouse。请按照 ClickHouse Managed Postgres 快速入门试用这两项服务;如果您已有 Postgres service,也可以直接前往添加分析能力。
基于 NVMe 的性能优势
大多数托管 Postgres 服务使用网络附加存储 (如亚马逊 EBS) ,这意味着每次访问磁盘都需要一次网络往返。这会带来毫秒级延迟,并限制 IOPS,从而使写入密集型或 I/O 密集型工作负载出现瓶颈。 ClickHouse Managed Postgres 使用与数据库位于同一服务器上、物理直连的 NVMe 存储。这种架构差异可带来:- 微秒级磁盘延迟,而非毫秒级
- 持续 IOPS 上限提升 10 倍*,且没有网络瓶颈
- 对于受磁盘瓶颈限制的工作负载,在相同成本下性能最高可提升 10 倍
通过性能基准测试了解 Postgres 在 NVMe 磁盘上的速度有多快。
支持的云提供商
ClickHouse Managed Postgres 目前支持以下云提供商:原生 ClickHouse 集成
ClickHouse Managed Postgres 原生集成 ClickHouse,无需复杂的 ETL 管道,即可将事务处理与分析统一起来。Postgres 到 ClickHouse 的复制
使用 ClickPipes 中的 Postgres CDC 连接器将你的 Postgres 数据复制到 ClickHouse。该连接器既支持初始加载,也支持持续增量同步,并已在数百家 Enterprise 客户中得到充分验证;这些客户每月迁移的数据量达数百 TB。pg_clickhouse:统一查询层
每个 ClickHouse Managed Postgres 实例都自带pg_clickhouse 扩展,可让你直接从 Postgres 查询 ClickHouse。你的应用可以将 Postgres 作为同时处理事务和分析的统一查询层,而无需连接多个数据库。
该扩展提供了面向 ClickHouse 的全面查询下推能力,可实现高效执行,并支持过滤器、JOIN、半 JOIN、聚合和函数。目前,22 个 TPC-H 查询中已有 14 个可完全下推;与在标准 Postgres 中运行相同查询相比,性能提升超过 60 倍。
企业级可靠性
ClickHouse Managed Postgres 提供生产环境所需的可靠性与安全特性。高可用性
使用基于仲裁的复制,最多可在不同可用区配置两个备用副本。这些备用副本专用于高可用性和自动故障转移,可确保数据库在发生故障后快速恢复。如需扩展读取能力,您可以单独预配只读副本。有关配置详情,请参阅高可用性页面。备份与恢复
每个实例都包含自动备份,支持创建分叉实例和时间点恢复。备份基于 WAL-G 运行;它是一款广为人知的开源工具,可执行全量备份,并持续将 WAL 归档到对象存储。安全与合规
ClickHouse Managed Postgres 旨在满足与 ClickHouse Cloud 相同的安全标准:- 身份验证:支持 SAML/SSO
- 网络安全:IP 允许列表、静态加密和传输中加密 (TLS 1.3)
- 访问控制:提供完整的 superuser 权限,用于数据库管理
开源基础
Postgres 和 ClickHouse 都是开源数据库,拥有庞大且活跃的社区。包括pg_clickhouse 扩展和由 PeerDB 驱动的 CDC 复制在内的集成组件也都是开源的。这一基础可确保您不会被供应商锁定,从而对数据栈拥有完全的控制权和长期灵活性。