alitrack

DuckDB 周报 #3:一个扩展连接 30+ 数据库,创始人罕见访谈

本周 DuckDB 生态相当热闹:社区扩展库一周新增 8 个(总数突破 220),创始人 Hannes Muhleisen 罕见地接受了一次专访,官方还发布了 8 个安全漏洞的修复说明。下面按模块过一遍。

● ● ●

为什么说 SQL 被误诊了十年?

2013 年前后,技术媒体都在写 SQL 的讣告。Muhleisen 在 Let's Data Science 的邮件访谈里说,当年大家诊断错了:SQL 语言本身没毛病,麻烦的是安装、服务器、连接串、找 DBA 要权限。那是部署问题和协议问题,却被当成语言问题处理。NoSQL 绕了一大圈,长出 filter、join、聚合,最后又回到 SQL 的形状——只是少了四十年的积累。

他引用 Snowflake 和 Amazon 公开的工作负载数据:典型分析查询在一台机器上跑得完,真正需要集群的不到百分之一。行业却花了二十年只为这个尾巴建系统。DuckDB 当年的赌注很朴素:数据库应该用起来舒服,舒服到安装只要一条命令,那就不该有服务器进程。他还承认自己判断错过一次——本以为这是个短期研究项目,结果 Mark 和他搭上了好几年周末。

谈到浏览器端他更直接:Dashboard 应该做到游戏帧率,拖滑块图表跟着手走。数据不出机器,医院或统计机构可以把真正的分析工具交给别人,不用跨组织边界传数据。他最想消灭的假设是「浏览器里放个玩具版」——应该是同一个引擎。

访谈最后确认了两件事:今年还有一个没公布的发布;Quack(client/server 模式)确实和他「进程内分析」的初衷矛盾,但他认了——「拒绝的话,等于告诉用户我们的自我形象比他们的工作更重要」。

● ● ●

一个连接连 30+ 数据库的扩展

columnar.tech 发布了 DuckDB ADBC 扩展,通过 Arrow Database Connectivity API 直连 30+ 外部数据库——Snowflake、Databricks、PostgreSQL 都行,统一接口,不用再为每个厂商装单独扩展。数据走 Apache Arrow,零拷贝列式传输,绕开行式 API 的性能瓶颈。

-- 临时查询
SELECT * FROM read_adbc('profile://mydb', 'SELECT * FROM games');
-- 或者持久连接
ATTACH 'profile://mydb' AS mydb (TYPE adbc);

ATTACH 模式目前还没有谓词下推和投影下推,大表优化查询建议用 read_adbc——这是规划中的增强。同批更新的 adbc_scanner 也合入了社区扩展仓库。

● ● ●

1.5.5 修了 8 个漏洞,升不升?

8 月 3 日安全团队发布了 fuzzing 审计的漏洞公告,一共 8 个,覆盖堆内存破坏、整数下溢、栈溢出。最严重的是 dsdgen() 的堆损坏(CVSS 8.1,理论可导致远程代码执行)和 approx_quantile 的堆越界读(CVSS 7.8)。其他还有 VARIANT 深层嵌套的栈溢出、json_pretty() 处理超大 JSON 时的长度回绕、json_execute_serialized_sql 的空指针解引用。

这些全部在 1.5.5 里修掉了。生产环境直接 pip install duckdb>=1.5.5。没有理由不升。

● ● ●

社区扩展一周 +8

duckatlas 监控显示社区扩展 214→222。本周新合并的扩展:

  • ●turbovec:压缩向量检索,DuckDB 里原生跑向量相似度搜索
  • ●TsFile:Apache TsFile 时序文件格式支持
  • ●jsono:面向分析的 JSON 存储与查询
  • ●duckdb_rdkit:RDKit 化学信息学,分子数据直接在 SQL 里算
  • ●cloudwatch / gcloud_observability:AWS 和 Google Cloud 可观测性数据接入
  • ●Superhuman Docs:文档处理
  • ●anofox_tabfm / anofox_optimize:基于 TabPFN-3 的合成数据生成与填补

同批还有一堆更新:duckdb_mcp v2.2.0、luajit v0.32(per-db UDF 生命周期注册表)、Whisper 0.5.0、snowflake 0.5.2、mssql v0.2.3。扩展生态的更新节奏明显在加速。

● ● ●

MotherDuck 八月通讯里有什么好东西?

Simon 的月度生态通讯本周发出,挑几个我觉得值得试的:

  • ●给每个 Agent 自己的数据库(joereis):每个 agent 带一个嵌入式 DuckDB(Quack),agent 之间通过 loopback TCP 直接交换「不可变分析切片」——每个切片带 catalog、DuckLake snapshot、语义模型契约。把计算搬到 agent 身边,替代集中式数据平台。
  • ●duckdb-gql:C++17 写的扩展,把 ISO GQL 子集接进 DuckDB。类型化顶点/边表做存储,CSR 投影跑图算法,图数据可以直接用 SQL 生态处理。
  • ●Perspective 5.0.0:这个可视化组件把查询引擎换成了 DuckDB——SQL pushdown 直接驱动,600 万行 NYC 数据流畅拖拽,表达式编辑器里还能直接用 time_bucket。
  • ●DuckDB Internals Part 2:greybeam 的 Kyle Cheung 继续讲为什么 DuckDB 快——2048 行一批的向量化执行、四种 Vector 类型、延迟物化。第一篇在 HN 上火过,这篇同样值得读。
  • ●datafusion-ducklake-provider:Rust crate,让 Apache DataFusion 读写 DuckLake 表。

另外 MotherDuck 博客还有一篇「Self-hosting DuckDB: the road to production」,讲自托管从本地到云每走一步要付哪些运维代价,结论是「别顺手造了个数据库公司」。

● ● ●

值得一提

  • ●Show HN 上有个 Parquity,专门找 Parquet 互操作性故障并复现,被坑过的人可以看看。
  • ●事件预告:8 月 18 日 dltHub + MotherDuck + Lightdash 直播搭数据栈;dbt Summit 9 月 15 日拉斯维加斯;Big Data London 9 月 23 日。

当前最新 DuckDB 版本:1.5.5。

本周新扩展里你最想试哪个?A. ADBC(连 30+ 数据库) B. turbovec(向量检索) C. 先升级 1.5.5 再说。


参考来源:

  • ●motherduck.com/blog/duckdb-ecosystem-newsletter-august-2026/
  • ●letsdatascience.com/news/duckdbs-creator-tells-lds-why-sql-won-5a5e359c
  • ●duckdblab.org/en/post/duckdb-security-audit-2026-aug/
  • ●columnar.tech/blog/announcing-duckdb-adbc-extension/
  • ●github.com/duckdb/community-extensions/pulls
  • ●greybeam.ai/blog/duckdb-internals-part-2
  • ●github.com/rahul-iyer/duckdb-gql
  • ●github.com/perspective-dev/perspective/discussions/3205
  • ●joereis.substack.com/p/to-every-agent-its-own-database
  • ●github.com/sovsparrow/parquity