PostgreSQL码农集散地

DuckDB 暴露野心,日后与PG必有一战

别看现在PG和DuckDB穿一条裤子, 好得跟亲兄弟似的. 

DuckDB使用postgres_scanner轻松读取PG数据; PostgreSQL使用duckdb_fdw、pg_mooncake、pg_duckdb等插件利用DuckDB算力提升OLAP性能等. 

但是我断言, 未来DuckDB与PG必有一战, 为什么呢? 

且听我继续扯蛋...

DuckDB斩获30K星,roadmap暴露野心

Image

祝贺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 存储过程
既然DuckDB也要入局AI数据库底座,我估计日后DuckDB与PG必有一战。
你怎么看呢?欢迎留言讨论。
另外6.27,28 PG高峰论坛分论坛8,欢迎来现场聊聊!
Image
Image
Image
感谢IvorySQL对会议的赞助