alitrack

DuckDB 周报 #15:DataGrip 把 DuckDB 装进了 IDE

DuckDB 2.0 发布后的第三周,重心从「发布了什么」转到「谁把它装进了自己的产品」。这一周最重要的动向来自 DuckDB 团队之外: JetBrains 的 DataGrip 2026.3 直接把 DuckDB 嵌了进去 ,用户在 IDE 里就能跨 PostgreSQL、MySQL、MongoDB 做联合查询,不需要另起任何服务。 一个判断: 嵌入式引擎的价值不看发布会,看有多少产品悄悄把它装进去——这一周 JetBrains、语义层、量化终端三个方向同时给出了答案。 ● ● ●

官方博客:DataGrip 为什么选 DuckDB

11 月 5 日,官方博客发了 How JetBrains Built Cross-Database Queries into DataGrip with DuckDB,讲 JetBrains 怎么做跨库查询。 背景是 DataGrip 用户多年的老诉求:在一条查询里 join 不同数据库连接的数据。JetBrains 的选择不是自研一个跨库查询引擎,而是把 DuckDB 嵌进 DataGrip,用 DuckDB 的自定义表函数把引擎接到 IDE 已有的查询执行链路上。 为什么是 DuckDB?DataGrip 团队的 Ilia Epelbaum 给的理由很直接:DuckDB 是集成起来最简单的选项。决定性的功能是自定义表函数——它给了一条把 DuckDB 接到 DataGrip 现有查询执行能力的直接通道。他们也评估过 H2 这类更轻的嵌入式方案,但那些引擎要么扩展要写原生代码,要么实现很复杂,而且没有投影下推这类查询优化。 JetBrains 数据库生态负责人 Maxim Sobolevskiy 的总结:“有了 DuckDB 和它的自定义表函数,跨库查询在 DataGrip 里终于变得可用了。用户可以在一条查询里 join PostgreSQL、MySQL、MongoDB 或任何其他支持的数据库,不需要搭额外的基础设施。” 两个细节值得注意:
  • DuckDB 现在是 DataGrip 的一等方言,不只是跨库 join 的引擎。Epelbaum 本人贡献了 DuckDB 语法高亮,包括 2.0 引入的新语法。
  • 这还只是第一版。JetBrains 说要先看用户实际怎么用,之后的路线图有两个方向:更充分地利用 DuckDB 的查询优化,以及让 DuckDB 直接读本地文件数据源。
同一个产品发布会上,JetBrains 还把 AI 助手 JetBrains Air 设为默认,SQL 可以在聊天里直接跑。DuckDB 作为底层引擎吃下跨库查询,AI 在上层接管写 SQL——这两件事出现在同一版更新里,不是巧合。 ● ● ●

本周动态

一份 2.0 的真实负载实测。 DBTrail 的 Daniel Guzman-Burgos 把 2.0 放到了 MySQL 分析副本场景里测:14 条分析查询、7800 万行订单明细、4 核 AWS 机器,四个 DuckDB 版本同场对比。结论是重查询快 21% 到 44%,全部 14 条连跑快 15%(调一个参数后 18%);但部分中等规模 join 变慢了,最慢的一条慢了 82%。他们查到原因后报给了 DuckDB 团队,对应 issue #28269。一个务实的决定:DBTrail 先切到 1.5(和 1.4 速度相同、支持到 2027 年 3 月),等 #28269 修完再上 2.0。1.5 和 1.4 性能完全持平这一点,对还在犹豫升级的人是个可以直接引用的数字。 量化金融的老 kdb+ 用户转到了 DuckDB。 官方博客 11 月 3 日发了 Ryan Hamilton 的访谈。他在 UBS 和 Citi 建过基于 kdb+ 的大规模行情数据平台,用户是 10-15 人的量化团队。这些年小团队反复问他“我们该用什么”,他一直没有好答案——别的系统要么许可证太贵,要么没有嵌入式模式,要么运维太重。DuckDB 是第一个让他能开口推荐的:小、嵌入式、可靠,不需要先起服务器。他把它装进了自己的工具 QStudio 和 Pulse,下一个开源项目 PeachQ 也围绕它建。kdb+ 的许可证价格是行业里出了名的贵,这个人群的迁移信号比一般的技术评测有分量。 语义层进 SQL。 Altertable 开源了 semantic_layer 扩展并进了社区仓库:用 CREATE SEMANTIC VIEW 把表、关系、指标定义一次,之后无论人来查还是 AI agent 来查,join 和聚合都按定义好的粒度生成,会在错误粒度上发散的查询直接被拒绝而不是给出错误答案。语法参考 Snowflake 的语义视图。安装就两行:
INSTALL semantic_layer FROM community;
LOAD semantic_layer;
给 AI agent 写 SQL 这个场景,指标口径不一致是现在最实际的一类错误,这个扩展把口径固化在了数据库里而不是每个 agent 的提示词里。 贡献者社区在换血,不在流失。 Rusty Conover 跟踪了 562 名 DuckDB 核心贡献者和扩展维护者五年来的数据:个体确实走得快,但他们本来就不是全投入在 DuckDB 上;新人数量超过离开的人;扩展仓库成了新的主要入口;AI 相关工作占去了所有人越来越多的时间。DuckDB 2.0 这类大版本发布后常有「核心贡献者离职」的讨论,这份数据提供了一个更冷静的视角。 社区扩展这周又进了不少新面孔。 PR 列表从 3547 到 3559 一周内十几个条目,几个值得看:
  • vgi (Rusty Conover 提交,审核中)——VGI 地理数据格式支持
  • slack_msg (已合并)——直接在 SQL 里读 Slack 消息
  • odata (已合并)——OData 协议连接,同时支持 1.5 和 2.0
  • drain3 (审核中)——日志模板挖掘,IBM 的 drain3 算法进了 DuckDB
  • boilstream 0.8.2(已合并)——适配 DuckDB 2.0
  • gorz 1.0.0(已合并)——Ordinalchain 数据的读取和对象存储写入,还补了 Intel macOS 构建
另外 semantic_views v0.18.0、 raster v1.8.0、 h3 补源码引用等更新也在这一批里。 ● ● ●

值得一提

1.4 的支持期只剩最后九天。 11 月 17 日,DuckDB 1.4 LTS 正式停止支持。还在 1.4 上的项目,官方给的台阶是 1.5:性能和 1.4 持平(DBTrail 的实测也确认了这一点),支持期已经延长到 2027 年 3 月,实际上也是按 LTS 对待。想直接上 2.0 的,注意 2.0 写出的数据库文件旧版本读不了,官方建议先在影子系统上试。另外 2.0.1 定在 11 月 18 日发布,发布前的 merge freeze 是 11 月 11 日——等补丁版的人不用再等太久。 DuckDB × MySQL Day,11 月 17 日线上开。 OurSQL Foundation 办的一天线上会议,主题是“把快分析带回 MySQL 和 MariaDB”:列式引擎、分析型复制、Parquet、HTAP 路线图,演讲者都是正在做这些事的人。免费参加。日期和 1.4 停支持是同一天,排期大概不是随手选的。 本号其它几篇 DuckDB 文章。 这一周本号还发了三篇相关内容: DuckDB 文件只能单进程写,官方在代码里铺路拆这个限制 讲 11 月 4 日合入主干的跨客户端共享事务铺垫; 等 DuckDB 2.0.1 的人 逐条对账了六个已知坑的修复进度,四个上了发布分支、两个没赶上; DuckDB 跑通 MATCH_RECOGNIZE 实测了预览版里的 SQL 行模式匹配。都在历史文章里。 回到开头那句话。DataGrip 这个案例最有信息量的地方在选型时的淘汰逻辑:H2 这类嵌入式引擎输在「扩展要写原生代码」和「没有查询优化」上。嵌入式分析引擎这个位置,能进 IDE、能进量化终端、能承载语义层的,目前 DuckDB 一家。下周看 2.0.1 的发布内容,以及 #28269 那个 join 回归修得怎么样。 当前最新稳定版: DuckDB 2.0.0 (2026 年 10 月 21 日发布,LTS;2.0.1 计划 11 月 18 日发布)。 ● ● ●

参考来源

  1. 01 How JetBrains Built Cross-Database Queries into DataGrip with DuckDB https://duckdb.org/2026/11/05/jetbrains-datagrip
  2. 02 DataGrip 2026.3 发布公告(JetBrains Blog) https://blog.jetbrains.com/datagrip/2026/11/05/datagrip-2026-3-agentic-development-with-jetbrains-air-cross-database-queries-duckdb-support-and-major-ux-improvements/
  3. 03 Bringing Local Analytics to the Quant's Desktop https://duckdb.org/2026/11/03/bringing-local-analytics-to-the-quants-desktop.html
  4. 04 DuckDB 2.0 on a MySQL analytical replica: what we measured(DBTrail) https://blog.dbtrail.com/duckdb-2-0-on-a-mysql-analytical-replica-what-we-measured/
  5. 05 A Semantic Layer in DuckDB(Altertable) https://altertable.ai/blog/2026-11-02-semantic-layer-in-duckdb
  6. 06 DuckDB isn't losing its contributors. It's renewing them.(Rusty Conover) https://rusty.today/blog/duckdb-contributors-renewing/
  7. 07 DuckDB × MySQL Day(OurSQL Foundation,11 月 17 日) https://oursqlfoundation.org/events/duckdb-mysql-day/
  8. 08 duckdb/community-extensions PR 列表 https://github.com/duckdb/community-extensions/pulls