日前,DuckDB发布1.0版本,承诺采用新的数据模型并提高稳定性,增强向后兼容性,从而成为一个成熟的数据库版本。
自2022年9月发布0.5.0迭代版本以来,每个月超过100万次下载量的in-process分析型数据库DuckDB吸引了众多关注。
DuckDB 的联合开发者及支持公司 DuckDB Labs 的创始人 Hannes Mühleisen 在接受 The Register 采访时表示,1.0 版本更注重稳定性,而不是新功能。
首先是新的存储格式。
“每次我们发布 DuckDB 的重要版本时......你都必须将数据重新加载到系统中,因为格式会以不兼容的方式发生变化,因为我们已经进行了大量更改。但现在,我们保证了存储格式的向后兼容性和有限的向前兼容性,这意味着如果你将数据写入 DuckDB 数据库格式,10 年后你仍然可以读取该文件。这是一个很大的变化,”他说。
他说,新的文件格式填补了市场空白,因为用户可以在单个文件中创建多个表,并对这些文件进行事务更新,这样既高效又压缩。
DuckDB 诞生于阿姆斯特丹的 Centrum Wiskunde & Informatica 数学与理论计算研究中心,Mühleisen 是该中心的教授。该数据库嵌入主机进程,无需安装、更新或维护 DBMS 服务器软件。例如,DuckDB Python软件包可以直接在Python软件库Pandas中的数据上运行查询,而无需导入或复制数据。DuckDB 采用 C++ 编写,在 MIT 许可下免费开源。
前谷歌 BigQuery 工程师Jordan Tigani指出,DuckDB 顺应了基于云的横向扩展数据仓库的潮流,利用了更强大的笔记本电脑。他是 DuckDB 的忠实拥趸,与他人共同创办了 MotherDuck 公司,为 DuckDB 提供后端扩展。
另一方面,Amalgam Insights公司首席执行官兼首席分析师Hyoun Park说,他认为DuckDB是一只独角兽,其诀窍是在资源有限的情况下进行高性能分析和文件转换。
“文件转换功能对于将parquet或其他非结构化格式的非结构化数据转换为高性能内存数据库非常有用。该数据库还有助于在边缘环境或远程环境中进行高性能分析,这对于卸载分析处理将越来越有用,”他说。
Park 告诉我们,DuckDB 也非常易于部署和支持。
Mühleisen说,第三方技术公司正在采用MIT许可的DuckDB,以及越来越多的 “数据科学家在笔记本电脑上 ”使用它。
他举例说,DuckDB Labs正在与 FiveTran 合作,帮助其在 Apache Iceberg 表格式实施中使用该数据库。
“这在一开始是不存在的--人们只需抓取DuckDB,然后将其作为一个组件放入自己的管道中--但这种情况确实在强劲增长。”Mühleisen。
协作分析公司Coginiti的首席技术官Matthew Mullins说,作为一家工具构建商,我们对DuckDB与Apache Arrow社区的紧密合作感到非常兴奋,因为这使我们能够构建利用列式数据格式的新一代高性能数据分析工具。这种集成不仅提高了性能,还简化了数据交换过程,从而实现了更高效、更可扩展的数据操作。
“自首次发布以来,DuckDB 以其易于使用和令人难以置信的性能为数据工程师、数据科学家和工具构建者带来了极大的乐趣,用户喜欢DuckDB 更友好的 SQL。无论 CSV 和 Parquet 文件位于何处,它都能高效处理,因此深受用户喜爱。此外,直接连接 PostgreSQL 和 MySQL 数据库进行zero-ETL 分析的功能简化了数据工作流程,降低了移动数据的成本,”Mullins 说。
在 PostreSQL 和 MySQL 中处理数据的能力是通过 DuckDB 插件实现的。Mühleisen说,团队希望开发一个平台,让人们可以上传、共享和下载DuckDB插件,以实现连接或支持新的标量函数或索引类型。