① 标题党#
主标题:DuckDB 2.0 来了,CONNECT 这招在革谁的命?
备选A:从嵌入式到能联网,DuckDB 要当"查询服务器"了?
备选B(短视频):小 Duck 长出翅膀
② 开场钩子#
一直说 DuckDB 是”嵌入式、单机”,直到 2.0 的 CONNECT 出现——它居然能当服务、能远程查询别人。这不只是加功能,是要革掉”服务器数据库”的命。
③ 主角特性:DuckDB as a Server / CONNECT / Quack#
- Quack + CONNECT:任何 DuckDB 能 serve 库,任何 DuckDB 能 attach 远程库,
CONNECT一条语句切换查询目标。 - remote pushdown:SQL 直接下发给远程库(PostgreSQL/MySQL)执行,而非把表拉回来——联邦查询真正”下推”到源端。
- 远程执行 + 结果回流,DuckDB 从”进程内引擎”升级为”统一查询协议”的节点。
意义:这是 v2.0(Cyanoptera)的头牌,把 DuckDB 从”嵌入式分析引擎”推向”联邦查询服务器”。
④ 最小可复现(v2.0 构想语法)#
-- 服务端
CALL quack_serve(token='my_token');
-- 客户端
ATTACH 'quack:server.example.com' AS qk (TOKEN 'my_token');
CONNECT qk;
SELECT count(*) FROM events; -- 在服务端执行,结果回流
DISCONNECT;sql⑤ 结论#
DuckDB 2.0 的 CONNECT,不是”加了客户端/服务器模式”这么简单——它把 DuckDB 变成联邦查询的有线协议。革的,是”啥都得拉回来算”的旧认知。
⑥ 配图脚本#
嵌入式 → 服务器演进 / CONNECT 链路 / remote pushdown 示意 / 结论卡