DuckDB 暴露野心,日后与PG必有一战
别看现在PG和DuckDB穿一条裤子, 好得跟亲兄弟似的.
DuckDB使用postgres_scanner轻松读取PG数据; PostgreSQL使用duckdb_fdw、pg_mooncake、pg_duckdb等插件利用DuckDB算力提升OLAP性能等.
但是我断言, 未来DuckDB与PG必有一战, 为什么呢?
且听我继续扯蛋...
DuckDB斩获30K星,roadmap暴露野心
祝贺DuckDB斩获30K star, 细心的我发现了DuckDB Roadmap里的计划, 暴露了DuckDB想成为AI数据库底座的野心.
早前DeepSeek就使用DuckDB的改版(smallpond)来做预训练加速: 解读DeepSeek 开源 smallpond(DuckDB+3FS轻量级分布式数据处理框架)
Smallpond用作预训练场景的企业少、使用频率低。
但是这次DuckDB是要进军AI Agent数据库底座啊, 这个规模和市场就大了!
参考近期Snowflake、Databricks收购案, DuckDB估值可能过百亿美金。要买就趁早 :
Go 和 Rust 对扩展(DuckDB extension)的支持. 目前仅支持c c++扩展,且已经有很多官方和三方扩展。加入go rust的支持将再一次加速DuckDB的插件生态功能开发. 更多开发者可以参与到扩展开发中. 这一步野心很大. 在 《德说-第333期, Databricks花10亿美元买开源Neon数据库, 值得吗?》 这篇文章中, 我分析了Databrick和Snowflake斥十几亿美元巨资拿下PG生态商业发行版Neon和Crunchy两家公司背后的逻辑. 就是布局AI数据库底座赛道. 因为目前只有PG能满足Ai Agent的需求. PostgreSQL几千个插件靠的是什么? 就是方便的扩展, 全球开发者(无需具备内核研发能力)即可面向业务能力开发插件, 极大丰富了PG的使用范围, 促使PG可以在GIS、图、时序、向量、搜索等领域都大放异彩! - 我估计不久将来,DuckDB与PG在AI数据库底座赛道上必有一战。
DuckDB 这么快能获得30K star. 个人认为离不开以下几点:
小巧易用, 几乎0门槛使用, 甚至无须安装客户端可以在多种语言中直接import包, 就能使用DuckDB。 迎合存储计算分离趋势, 大量需要分析的数据都入云端了(对象存储). DuckDB 作为计算引擎可以快速拉起, 分析云端数据库(当然也包含本地数据). 速度真快. 干翻各种分布式OLAP产品. 性能处于业界一线水平. 发展迅猛. 功能、性能只能用日新月异来形容. 给了用户极大的刺激和信心. - 和PG一样也支持插件扩展。
下面我们再看看DuckDB官网给出的最近roadmap.
DuckDB 身世之谜
DuckDB 项目由非营利性的 DuckDB 基金会管理。基金会和DuckDB 实验室不接受外部投资者(例如风险投资)的资助。基金会的资金来源于其成员的捐款,而 DuckDB 实验室的收入则来自商业支持和功能优先级服务。
采用MIT开源许可。
无论是许可还是运作模式,和PG都很像,注定了似乎未来的生态图景和PG也会很像。
计划功能(上次更新时间:2025 年 5 月)
本节列出了 DuckDB 团队计划在来年开发的功能。有一些已经上线了, 本文档还没有更新.
C 扩展 API的指导文档 ( https://github.com/duckdb/extension-template-c )通用 ODBC catalog,类似于现有的 PostgreSQL / MySQL / SQLite 集成 Go 和 Rust 对扩展(DuckDB extension)的支持(说的就是你, 暴露野心了). 将再一次加速DuckDB的生态功能开发. 更多开发者可以参与到扩展开发中. 这一步很赞. PostgreSQL几千个插件靠的是什么? 就是方便的扩展, 全球开发者(无需具备内核研发能力)即可面向业务能力开发插件, 极大丰富了PG的使用范围, 促使PG可以在GIS、图、时序、向量、搜索等领域都大放异彩! 数据湖格式 通过iceberg 扩展改进了对 Iceberg 格式的支持 https://duckdb.org/docs/stable/core_extensions/iceberg/overview.html 通过delta 扩展改进了对 Delta Lake 的支持 https://duckdb.org/docs/stable/core_extensions/delta.html (更新于 2025-05-27:) 我们发布了DuckLake ( https://ducklake.select/ ) ,这是一种 Lakehouse 格式。我们想强调的是,我们仍然致力于开发 DuckDB 的 Iceberg 和 Delta Lake 扩展,包括添加对这些格式的写入支持。 MATCH RECOGNIZE语法, 用于pattern匹配 https://github.com/duckdb/duckdb/discussions/3994使用缓冲区管理器缓存远程文件内容(例如,在 S3 上查询 Parquet 文件时) 数据库文件加密 https://github.com/duckdb/duckdb/discussions/4512 musl libc二进制文件的分发
此列表由 DuckDB 维护人员编制,基于 DuckDB 项目的长期战略愿景以及与开源社区用户的日常互动(GitHub 问题和讨论、社交媒体等)。有关如何在 DuckDB 中申请功能的详细信息,请参阅常见问题解答“我希望在 DuckDB 中实现 X 功能”。
请注意,我们无法保证某项功能会在明年内发布。本页面所有内容如有更改,恕不另行通知。
未来工作
我们计划在未来某个时间点实现一些功能。如果您想加快这些功能的开发,请联系 DuckDB 实验室。
时间序列优化 分区感知优化 排序感知优化 使用自动维护的表格样本进行更好的过滤基数估计 并行 Python UDF https://github.com/duckdb/duckdb/issues/14817 ALTER TABLE支持添加外键查询分析器(query profiling)的改进(特别是对于并发运行的查询) XML 读取支持 物化视图 MERGE语法支持 异步 I/O支持 PL/SQL存储过程