DeepSeek总结的DuckDB访谈:DuckDB的崛起、扩展与AWS收购

来源:https://duckdb.org/library/what-next-for-duckdb/

《开发者之声》访谈总结:DuckDB的崛起、扩展与AWS收购

一、DuckDB的初心与成功之困

DuckDB是一款本地单文件分析型数据库,核心定位是"SQLite for Analytics"------极快、极简、可直接查询CSV/JSON/Excel等文件而无需预先定义Schema。两位创始人汉内斯·米勒森与马克·拉斯维尔特自八年前从零开始构建,出发点是用户友好优先,打破数据库学术界与实践脱节的局面。

然而成功带来新问题:海量功能请求、社区PR涌入、企业客户需求涌现。汉内斯坦言,最坏情况是被迫远离技术、转而去管理销售和营销团队。为此,他们构建了扩展机制,把非核心功能(如图处理、Excel读取)交给社区插件维护,保持核心精简。


二、重要技术演进

1. 客户端-服务器协议Quack

汉内斯曾坚决不做客户端-服务器,但社区自行开发了至少五六个RPC封装,需求明确。于是他"食言"推出Quack,并表示"一致性被高估,解决问题更重要"。Quack完全重写了数据库线路协议------他们曾发论文指出Postgres协议每行都带类型头、效率极低,而Quack从零设计,更适配分析场景的大批量数据传输。

2. 扩展机制的深化:可插拔解析器

为免于被海量语法需求淹没,DuckDB重写了SQL解析器。旧版基于Postgres的LALR(1)解析器有2万行语法、需在词法分析阶段合并"ORDER BY"等双词关键字、无法处理注释注解,且不可扩展。他们改用PEG解析器(递归下降、支持运行时动态加载语法规则),并自研了PEG解释器。此举使扩展可自定义SQL方言,甚至禁用部分语法以强制流式执行。

3. 异步IO与Parquet优化

为支持Iceberg远程文件读取,DuckDB在2.0中引入异步IO线程池,避免网络阻塞,该优化惠及所有Parquet读取场景。


三、Iceberg、Avro与DuckLake

Iceberg是数据湖上的表格式,解决Parquet文件变更管理问题。因连续两年成最常被请求功能,DuckDB由企业赞助实现完整支持。汉内斯对Iceberg底层格式Avro颇有微词:无Schema无法解码、压缩块导致点查需解压整块、元数据用JSON冗余。更让他不满的是Iceberg"拼命不用数据库"------变更元数据放在Avro/JSON文件里,最终却不得不在REST目录服务后挂Postgres。

于是他们推出DuckLake,直接用数据库管理元数据,查询计划简化为一次SQL查询,底层Parquet文件与Iceberg兼容(可互导)。该扩展下载量已追平Iceberg扩展,被真实企业用于生产。


四、企业化与AWS收购

DuckDB用户从个人笔记本扩展到Spotify(为每位用户临时实例化DuckDB做AI问答)、大型药企(从Spark迁移节省数亿美元)等企业级场景。公司DuckLabs从自筹资金的学术团队扩至30余人,月下载量超百万。但汉内斯明确拒绝走"销售驱动开发"路线------他咨询过其他数据库创始人,结论是销售最终会决定工程方向。

因此,DuckLabs将被AWS收购(保留子公司身份),但关键制约条件是:

  • DuckDB基金会(非营利)保持独立,类似Tabular卖给Databricks但Iceberg仍属Apache;
  • AWS承诺长期支持基金会项目,且不干涉技术路线;
  • 收购将为DuckDB带来真实工作负载反馈(过去无遥测,全靠GitHub报障,无法判断优先级),这是闭源竞品(如Snowflake)的核心优势;
  • 更多人力与计算资源,同时汉内斯坦言要重新适应"有老板"和绩效评估,但AWS给予他的上级是合作多年的熟人,令他安心。

五、2.0及未来规划

DuckDB 2.0将于2026年10月发布,亮点包括:

  • 可插拔PEG解析器正式上线;
  • 触发器支持(呼应"服务器年"战略);
  • 后续将实现存储过程(PL/SQL风格,由专攻编译优化的博士负责);
  • 以上功能均编译至Wasm,可在浏览器中运行。

六、核心理念

汉内斯反复强调一条哲学:"不是告诉用户他们应该怎么用,而是解决他们实际遇到的问题。" 为此他们宁可收回"不做客户端-服务器"的誓言,也要推出Quack;宁可重写整个解析器,也要让扩展能改变语法。他视被AWS收购为避免沦为销售导向公司、保持技术驱动的最佳路径,并期望DuckLake能推动整个数据湖生态转向更合理的元数据管理方式。

相关推荐
隔窗听雨眠27 分钟前
CI/CD测试数据清理完全指南:从污染根因到三层清理覆盖的完整方案
java·数据库·ci/cd
无定义_35 分钟前
Bellman-Ford——贝尔曼福特算法
数据库·算法
盟接之桥41 分钟前
半导体供应链破局:EDI如何成为中国制造的数字通行证
大数据·运维·服务器·网络·数据库·人工智能·制造
其实防守也摸鱼1 小时前
ZLibrary 类项目合规避坑指南:从技术实现到法律风险的全景梳理
运维·服务器·数据库·安全·自动化·github·copilot
2601_967659891 小时前
2026信创深化落地期档案管理系统选型推荐:恒智科技综合档案管理系统
数据库·人工智能·科技
程序员-Benothing1 小时前
数据库的脏读、不可重复读和幻读:从面试标准答案到源码级原理
数据库·面试·职场和发展
wangchunyu1141 小时前
Elasticsearch 入门与实战:Spring Boot 3 + ES 8 从零搭建商品搜索服务
大数据·数据库·spring boot·elasticsearch
给AI剪纸的打工人1 小时前
OpenCode怎么接第三方API?自定义Provider与Responses配置实战
linux·数据库·人工智能
裕晟资质规划1 小时前
西安政务信息化项目涉密系统集成资质准入解析:甲级/乙级承接边界、等保差异与合规承接路径
大数据·运维·数据库·人工智能·安全·政务