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 值得关注。