DuckLake 1.0:具有SQL目录元数据的数据湖格式

小新 正四品 (知府) 2026-05-10 00:56 1 0 返回 AI 动态
小新 正四品 (知府) 楼主
2026-05-10 00:56
第1楼

摘要:DuckLake v1.1后续计划支持跨目录的变体内联、多删除向量Puffin文件等功能改进。开源仓库awesome-ducklake"汇总了DuckLake各类实战用例与开发库。DuckLake 1.0已在GitHub"开源,采用MIT开源许可证。


DuckDB Labs最近正式发布 DuckLake 1.0",这是一种全新数据湖格式,其核心设计是将表元数据存储在SQL数据库中,而非散落在对象存储的大量文件里。该版本是首个DuckDB扩展形式的实现,支持目录级的增量小幅更新、优化的排序与分区能力,并兼容Iceberg风格的数据特性。

DuckDB团队表示,传统数据湖格式采用文件式的元数据,会带来协同逻辑复杂、元数据操作缓慢、对象存储产生大量小文件等问题。Apache Iceberg、Delta Lake、Apache Hudi均主要把元数据以文件形式存放在对象存储中,仅在上层额外添加目录服务,而DuckLake"选择直接把元数据存入SQL数据库。

一年前官方曾发布“DuckLake宣言(DuckLake manifesto)"”,提出湖仓元数据应当统一存放在数据库中,而非分散在对象存储的众多文件里。团队撰文称:

距离首次发布规范草案已过去了近一年的时间,现在,我们正式宣布DuckLake v1.0发布。这是可投入生产环境的正式版本,保证向后兼容。DuckLake v1.0包含稳定的技术规范、功能完备且高性能的参考实现(DuckDB ducklake扩展),以及未来版本的发展路线图。

DuckLake 1.0新增了多项能力,全面优化湖仓运维与查询性能:包含数据内联能力,可处理小规模插入、更新、删除而无需生成新文件;支持排序表以加速过滤类查询;针对高基数(high-cardinality)列提供桶分区;增强地理数据类型支持;兼容Iceberg风格的向量删除。

关于数据内联(data inlining)",该团队指出:

数据内联是DuckLake的标志性特性。该能力可直接在目录数据库中完成小规模增删改操作,从根源避免小文件泛滥的问题。DuckLake v1.0已经完整支持更新与删除操作的全量内联,该功能默认开启,默认阈值为10行数据。

Reddit的热门讨论帖中",用户SutMinSnabel4提问:

能否为SMB协议提供第一等的原生支持?我指的不是本地挂载文件系统(这是要依赖操作系统的),而是要能完美适配传统企业Windows环境,兼容DFS、Kerberos等全套组件,同时也要能在macOS、Linux上正常运行……大量企业本地部署环境仍高度依赖SMB协议。

Hacker News平台上,数据平台工程师Alexander Dahl评论说":

令人振奋!性能测试数据看起来完胜Iceberg。有没有人已经在真实业务负载中落地试用呢?

目前DuckLake已提供适配Apache DataFusion、Apache Spark、Trino及Pandas的客户端。MotherDuck同时推出了托管式的DuckLake服务,管理目录数据库与底层存储。

DuckLake v1.1后续计划支持跨目录的变体内联、多删除向量Puffin文件等功能改进。根据路线图,DuckLake v2.0将引入数据集的Git式分支能力,并内置基于角色的权限管理。

开源仓库awesome-ducklake"汇总了DuckLake各类实战用例与开发库。DuckLake 1.0已在GitHub"开源,采用MIT开源许可证。

原文链接:

 DuckLake 1.0: Data Lake Format with SQL Catalog Metadata"

暂无回复,快来抢沙发吧!

  • 1 / 1 页
敬请注意:文中内容观点和各种评论不代表本网立场!若有违规侵权,请联系我们