PostgreSQL码农集散地

DuckDB 如虎添翼: Quack 远程协议让鸭子从"单机游戏"进入"多人协作时代"

它解决什么问题?

DuckDB 原本是单进程嵌入式数据库,多个进程想同时读写同一张表?抱歉,做不到。Quack 通过 HTTP 让不同的 DuckDB 实例互相通信,一个进程写入、多个进程并发查询——多人协作分析终于成为可能。

性能有多强?

60M 行 / 76GB CSV 传输实测:

  • Quack:4.94 秒
  • Arrow Flight SQL:17.40 秒
  • PostgreSQL:158 秒

单行 INSERT 小事务(8 线程):Quack 5,434 tx/s,PostgreSQL 4,320 tx/s,直接超越。

为什么不用 Arrow Flight SQL?

DuckDB 内部结构与 Arrow 差异大,转换反而添开销;Arrow Flight SQL 每条查询至少要两次网络往返,Quack 只需一次;自研协议还意味着随时能引入新数据类型,不受外部依赖限制。

安全吗?

服务器自动生成随机令牌,默认绑定 localhost,远程连接默认启用 SSL。认证和授权均可通过回调函数自定义——LDAP、文件校验、SQL 宏,想怎么接都行。

什么时候能GA?

随 DuckDB v2.0 于今年秋季正式发布。长期规划包括:读副本 replication 协议、与 DuckLake 集成实现远程目录源。


技术选型没有银弹,Quack 之所以快,是因为每一个设计决策都围绕"减少开销"这一目标——序列化复用 WAL 代码、单往返查询、并行 bulk 传输。如果你的场景恰好需要这种高性能远程分析能力,Quack 值得关注。