WalShadow:Postgres到ClickHouse亚秒级复制

WalShadow: Sub-second Postgres replication to ClickHouse from physical WAL

WalShadow:Postgres到ClickHouse亚秒级复制

我们推出了WalShadow,一款开源引擎,能直接从Postgres的物理WAL将数据复制到ClickHouse。测试显示,Postgres提交的事务在约200毫秒内即可在ClickHouse中可见,吞吐量高达每秒28.9万行。与传统基于逻辑复制的CDC系统不同,WalShadow不依赖Postgres逻辑复制槽,而是直接消费物理WAL流,在源数据库外部解码并写入ClickHouse原生数据块。这不仅消除了逻辑复制带来的操作开销,还显著降低了源Postgres实例的资源消耗,同时支持复杂的Schema变更。WalShadow让ClickHouse真正成为了一个分析型的物理备库,实现了低延迟与高吞吐的完美平衡。

源端只需发送物理WAL,产生的负载特征类似于物理备库,同时能让变更在一秒内到达ClickHouse。
  1. vmsp

    他们并没有使用 `wal_level = logical`,这可是 Postgres 做 CDC 的“友好”方式,一直如此;但他们直接选了 `wal_level = replica`。据我所知,除了 Postgres 自身的复制机制外,从来没人基于这个级别构建过什么。

    这非常有趣。我完全没想到这会带来这么大的差异。我也敢打赌,如果没有代码代理(coding agents)的协助,这类功能根本不可能被实现出来。以前要搞懂这些协议层面的细节,可是个巨大的时间黑洞,但现在不再是了。

  2. rgbrgb

    这对托管在 Supabase 上的 Postgres 也适用吗?我们公司的 Brain MCP 项目会把 Postgres 数据(连同服务器日志、银行数据、Slack 消息等)镜像到 ClickHouse,但一直采用一种效率很低的轮询方案,因为这样能兼容任何只读的数据库连接字符串。不过我们一直在寻求改进,希望能消除这种延迟。

同日更多故事

2026-09-16