网易首页 > 网易号 > 正文 申请入驻

一直拒绝做服务端的 DuckDB,为什么在 2.0 彻底“变脸”了?

0
分享至

数据分析领域最火的“单机神器”DuckDB,终于向全球开发者的呼声“妥协”了。

长期以来,DuckDB 都严格坚守类似 SQLite 的“进程内嵌入式(In-Process)”定位。但在刚公布的 DuckDB v2.0 预览版(代号“Cyanoptera”桂红鸭) 中,官方正式宣布:开启“DuckDB Server 之年”。

从今年 3 月发布 1.5 版本至今,DuckDB 社区贡献了超过 10,000 次提交。这个被称为“分析界 SQLite”的利器,正在以 2.0 为跳板,蜕变为一个具备多租户、长运行能力、甚至能直接调度远程 Postgres 的全能现代数据引擎。

一、 破戒上线 Server 模式:不仅能联机,还能接管外部数据库

很多开发者曾因为 DuckDB 无法跨进程网络访问,不得不在它外层套上一层 FastAPI 或 DuckDB-Wasm。

在 v2.0 中,官方原生网络通信协议插件 quack 正式毕业为稳定版。任何 DuckDB 实例都可以一键化身服务端,而客户端则通过全新的 CONNECT 语法直连远端实例执行查询并流式拉取结果。

-- 服务端一键开启监听CALL quack_serve(token = 'my_token');-- 客户端无缝接入并执行ATTACH 'quack:Server.example.com' AS qk (TOKEN 'my_token');CONNECT qk;SELECT count(*) FROM events; -- 在服务端执行,结果流式传回DISCONNECT;

更具破坏力的是,CONNECT 并不局限于 DuckDB 内部。

配合全新开发的远程下推优化器,你甚至可以直接用一条 CONNECT 'postgres://...' 指令,把整条复杂 SQL 直接推送到远端的 PostgreSQL 或 MySQL 上运算,而不是把原始数据傻傻地全表拉回本地。

很多人误以为 DuckDB 只适合只读分析,实际上它底层从诞生起就具备完整的 MVCC 事务机制。随着 Server 模式补齐,它在多租户长生命周期服务中的潜力被彻底释放。

二、 性能极限再被刷新:递归查询狂飙 40 倍,大表秒开

每一次大版本迭代,性能提升都是硬指标。

在官方公布的百万边图遍历(Single-source reachABIlity)微基准测试中,重写后的递归 CTE 引擎展现了惊人的提速:同一台笔记本电脑上,v1.5.4 耗时 4.90 秒,而 v2.0 预览版仅需 0.12 秒,速度整整提升了 40 倍。

百万边图可达性递归查询耗时对比:- DuckDB v1.5.4: 4.90 秒- DuckDB v2.0   : 0.12 秒 (约 40x 提升)

除了算力,存储与内存开销也迎来了根本性变革:

  • ART 索引分页换入:过去的索引需要全部常驻内存,大表极易吃满 RAM。2.0 引入了缓冲池管理的 ART 索引,按需加载,千万级大表瞬间秒开。
  • 内存不足自动落盘:聚合算子在内存超限时支持自动 Spill 到磁盘,告别 OOM 闪退。
  • 对象存储异步 I/O:重构了底层的 I/O 体系,让云端 S3/GCS 扫描与计算层完全解耦,云端湖仓查询吞吐成倍增长。
三、VARIANT类型成一等公民:半结构化数据跑出纯列存极速

在实际业务中,JSON 日志是典型的数据形态:既想保留灵活多变的字段,又苦于纯文本 JSON 查询慢如蜗牛。

DuckDB 2.0 把VARIANT 变体类型做成了核心支柱。它被誉为“打了兴奋剂的 JSON”:你可以无 Schema 限制地写入任何结构的嵌套数据,但 DuckDB 会在存储层自动检测字段共性并做“切片粉碎(Shredding)”,直接享受列式压缩与向量化扫描。

CREATE TABLE events (payload VARIANT);INSERT INTO events VALUES ('{"user": {"id": 42, "tags": ["a", "b"]}}'::JSON::VARIANT);-- 直接对 VARIANT 字段进行高效率判定与提取SELECT * FROM events WHERE variant_contains(payload, {'user': {'id': 42}}::VARIANT);

未来官方还计划直接将底层的 JSON 类型默认替换为 VARIANT 实现,让旧代码一行不改就能获得数倍性能跃升。

四、 原生 Triggers 与向量检索:把分析型数据库当生产主力

为了支撑服务端长时间运行,DuckDB 2.0 补齐了一系列传统数据库的硬核功能:

  • 完整的 SQL 触发器(Triggers):全面支持 BEFORE / AFTER、行级与语句级触发器以及过渡表(REFERENCING OLD/NEW TABLE),数据变更审计日志再也不用在应用层手写补偿逻辑。
  • NEAREST 向量 Join 语法:在大模型与 Embedding 火热的当下,Top-K 向量相似度检索直接原生化为一条 Join 子句,语义检索极其简洁。
  • CTE 内部支持 DML:可以在 WITH 子句里直接做 DELETE ... RETURNING,一条 SQL 完成清洗、归档与中间物化全流程。

-- 向量相似度 Top-K 检索一步到位SELECT q.user_id, t.product_idFROM users qINNER JOIN products t APPROX NEAREST 2BY SIMILARITY array_cosine_similarity(q.embedding, t.embedding);
五、 告别 Postgres 解析器:自研 PEG 引擎与插件生态独立

过去 DuckDB 一直沿用从 PostgreSQL 裁剪出来的 SQL 解析器。2.0 彻底扔掉了这个历史包袱,换上了全新的自研 PEG(Parsing Expression Grammar)解析器。

这项改造带来了两个关键红利:

  1. 方言兼容模式:直接执行 SET dialect_compatibility_mode = 'spark';,即可兼容 Spark SQL 等语法习惯。
  2. 语法级插件扩展:第三方插件可以直接注入全新的 SQL 语法,生态扩展能力迈上新台阶。

与此同时,DuckDB 移除了沉重的 ICU 外部依赖库,将时区数据压缩至 45KB 自研实现,时区转换性能反而提升了 2.2 倍;扩展插件的 C API 也首次实现了 ABI 长期稳定保障,并支持企业自建私有签名仓库(CREATE EXTENSION REPOSITORY)。

总结与思考

从最初“单机嵌入式分析引擎”,到如今拥有异步 I/O、自研解析器、内置 Server 模式、支持私有源生态的综合性数据计算平台,DuckDB 2.0 正在重新定义单机与分布式、嵌入式与服务端的边界。

它没有盲目跟风做动辄几十个节点的重型分布式集群,而是把单机资源压榨到极致后,轻巧地通过网络协议向外延伸。

DuckDB 2.0 正式版预计将于今年秋季发布,目前预览版已开放体验。

你在日常工作中通常拿 DuckDB 当作什么工具使用?对于这次上线 Server 模式与自研解析器,你觉得它最先冲击的是传统数据仓库还是轻量分析工具?欢迎在评论区留下你的看法。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
暴跌25%,五折清仓无人问津!曾抢破头的顶奢,为何彻底跌下神坛

暴跌25%,五折清仓无人问津!曾抢破头的顶奢,为何彻底跌下神坛

青眼财经
2026-08-19 07:00:25
喜事三不通知,丧事三不惊动,难事三不开口,读懂少走很多弯路

喜事三不通知,丧事三不惊动,难事三不开口,读懂少走很多弯路

周哥一影视
2026-08-19 10:37:54
仅仅24小时,“高市交权离职”成为日本爆点,鸠山由纪夫挑起重担

仅仅24小时,“高市交权离职”成为日本爆点,鸠山由纪夫挑起重担

北海史记
2026-08-19 11:26:12
穆帅正式亮相皇马,签约3年,直到2029年夏天;皇马赠送穆帅3件礼物

穆帅正式亮相皇马,签约3年,直到2029年夏天;皇马赠送穆帅3件礼物

福酱的小时光
2026-08-19 06:45:30
年薪仅涨50万欧!曝31岁队长拒绝曼联续约合同 明夏或自由身离队

年薪仅涨50万欧!曝31岁队长拒绝曼联续约合同 明夏或自由身离队

我爱英超
2026-08-18 18:12:32
王欣瑜54分钟速败萨巴伦卡!抿嘴沮丧细节被拍 虎妞赛后采访更扎心

王欣瑜54分钟速败萨巴伦卡!抿嘴沮丧细节被拍 虎妞赛后采访更扎心

颜小白的篮球梦
2026-08-19 11:09:03
大马丁去哪?维拉为什么不要这位世界杯金手套?

大马丁去哪?维拉为什么不要这位世界杯金手套?

夕落秋山
2026-08-19 06:34:35
1992年,邓颖超生命最后一刻,耗尽力气喊出"李鹏"不是丈夫周恩来

1992年,邓颖超生命最后一刻,耗尽力气喊出"李鹏"不是丈夫周恩来

历史人文2
2026-07-31 05:30:03
给千万企退工人一个公道:年年调资不是福利,是缴费换来的权益!

给千万企退工人一个公道:年年调资不是福利,是缴费换来的权益!

华庭讲美食
2026-08-19 06:14:45
加维以4700万英镑从巴萨转会曼联?罗马诺更新了最新消息

加维以4700万英镑从巴萨转会曼联?罗马诺更新了最新消息

夜白侃球
2026-08-18 20:56:15
魏大勋逛浙江省博物馆看兽首!网友:对他的身高有了实感……

魏大勋逛浙江省博物馆看兽首!网友:对他的身高有了实感……

都市快报橙柿互动
2026-08-19 00:05:58
刘邦沛县这帮酒肉好友,有杀狗的、养马的、办丧事吹唢呐的,为啥个个都是军事大才

刘邦沛县这帮酒肉好友,有杀狗的、养马的、办丧事吹唢呐的,为啥个个都是军事大才

磊子讲史
2026-08-14 19:56:23
49年刘伯承收到一份干部任命,看后拒绝签字,怒:李达不同意不准

49年刘伯承收到一份干部任命,看后拒绝签字,怒:李达不同意不准

大运河时空
2026-08-18 07:25:03
宇树王兴兴,一战赚了1000亿!

宇树王兴兴,一战赚了1000亿!

包不同
2026-08-19 11:59:57
范志毅参加亚冠二抽签,全英回答现场提问

范志毅参加亚冠二抽签,全英回答现场提问

懂球帝
2026-08-18 14:32:16
36岁海顿·潘妮蒂尔猝逝,曾被警告活不过35岁,现场发现急救喷雾

36岁海顿·潘妮蒂尔猝逝,曾被警告活不过35岁,现场发现急救喷雾

流云随风去远方
2026-08-18 11:13:21
同样是20岁,把李嫣和沈佳润放一块,成熟风与幼态风差距一目了然

同样是20岁,把李嫣和沈佳润放一块,成熟风与幼态风差距一目了然

寒士之言本尊
2026-08-18 17:45:34
心理学:一个家庭长期没饭局,不串门不社交,就已经说明了两个现实,很准

心理学:一个家庭长期没饭局,不串门不社交,就已经说明了两个现实,很准

心理观察局
2026-08-19 06:18:11
“像女生器官,不许摆在桌子上!”小仙女怒怼男同学,令人生理不适

“像女生器官,不许摆在桌子上!”小仙女怒怼男同学,令人生理不适

妍妍教育日记
2026-08-08 11:25:10
王钰栋被欧洲多队报价却只问一句能保证出场时间吗,薪资降超80%也认了,合同签到2030年走不走浙江队说了算

王钰栋被欧洲多队报价却只问一句能保证出场时间吗,薪资降超80%也认了,合同签到2030年走不走浙江队说了算

体育全天候
2026-08-18 16:01:29
2026-08-19 12:40:49
侃故事的阿庆
侃故事的阿庆
几分钟看完一部影视剧,诙谐幽默的娓娓道来
789文章数 9291关注度
往期回顾 全部

科技要闻

宇树科技1100元开盘,较发行价上涨629%

头条要闻

"山西前首富"曾向多名省部级官员行贿 牵出最高法副院长

头条要闻

"山西前首富"曾向多名省部级官员行贿 牵出最高法副院长

体育要闻

在国际球探眼中,中国年轻球员是什么水平?

娱乐要闻

230万变3亿,章子怡活成自己的靠山

财经要闻

重要信号 部分存储芯片现货价格松动下行

汽车要闻

全部是满血华为乾崑配置 但奕境X9开起来更让人惊喜

态度原创

艺术
数码
本地
教育
亲子

艺术要闻

23亿!上海世博园区第一高楼,中国银联的“新地标”

数码要闻

传闻谷歌找上AMD,扩展TPU v10合作对象

本地新闻

邂逅活珊瑚的西沙,感受独属于国人的浪漫

教育要闻

德国数学竞赛题目,全班全军覆没!

亲子要闻

从领证到生娃只隔不到一年:中国人的婚育时间表发生了什么变化?

无障碍浏览 进入关怀版