DuckDB作为现代轻量级内存数据库的代表,自诞生以来便以其快速、高效和易用性赢得了广泛关注。2025年9月,DuckDB官方发布了1.4.0版本,并特别标注为长期支持版本(LTS),承诺提供一年社区支持,并计划进一步为旧版本提供维护。该版本以"安第安绿翅鸭"(Andean teal,学名Anas andium)命名,象征着其在数据行业中的高效与灵活。此次1.4.0 LTS的发布,带来了数据库加密、MERGE语句、Iceberg写入支持、命令行客户端ETA进度条、FILL窗口函数等多项重要改进,对数据库安全、数据操作复杂度以及性能优化都具有深远影响。数据库加密功能是此次更新的最大亮点之一。长期以来,用户对DuckDB数据库文件的加密保护需求强烈,尤其是在企业级生产使用场景中,数据安全成为重中之重。
此次版本引入的加密功能支持通过ENCRYPTION_KEY参数对数据库文件进行AES-256位GCM模式加密,覆盖主数据库文件、写前日志(WAL)以及临时文件。加密实现既支持内置mbedtls库,也兼容httpfs扩展中的OpenSSL库,其中OpenSSL因硬件加速性能优越,强烈推荐与httpfs搭配使用以获得更好性能表现。 DuckDB团队感谢Lotte Felius为该功能的贡献。 此外,1.4.0版本引入的MERGE语句为数据更新带来了更便捷灵活的解决方案。不同于传统依赖主键的INSERT INTO ... ON CONFLICT语句,MERGE语句能够基于任意自定义条件执行更新或插入操作,实现高效的UPSERT功能。在OLAP系统中,许多数据表并无主键定义,MERGE语句的支持极大丰富了数据变更的表达能力。
用户可以结合复杂条件实现更新、插入乃至删除操作,且可通过RETURNING子句实时获知操作结果,如更新、插入或删除的具体行数和内容。这种基于条件匹配的合并机制,为多源数据合并及增量同步提供强有力工具。 伴随着数据湖与大数据平台的兴起,DuckDB 1.4.0进一步强化了与开源数据湖框架Apache Iceberg的融合能力。duckdb-iceberg扩展现在支持将数据写入Iceberg,这意味着用户可方便地将DuckDB或DuckLake中的数据复制到Iceberg数据湖,实现数据的统一管理和分析。此外,Iceberg到DuckDB/DuckLake的复制也已支持,采用COPY语句实现。例如,用户可通过命令行在不同数据库间高效迁移数据,但需要在Iceberg侧提前建立对应Schema结构。
此外,DuckDB命令行客户端新增ETA(预计完成时间)功能,解决了进度估计不稳定的问题。该功能利用Kalman滤波算法对实时性能数据进行分析和预测,提供更准确、动态调整的查询剩余时间预估,提升用户交互体验。FILL窗口函数的新添功能则为缺失值填充和时间序列插值提供了简洁高效的SQL级解决方案。通过在有序窗口中插值,填充缺失数据点变得更加便捷,极大地方便了数据预处理和分析流程。 对于连接器层面,DuckDB 1.4.0引入了Teradata连接器,扩展了其企业级数据库生态兼容性,为用户提供更多元的数据源集成选项。性能方面,版本在内存表检查点支持、排序算法重构以及公共表表达式(CTE)物化等关键功能上进行深度优化。
支持内存表压缩带来显著的查询加速效果,且检查点机制触发垃圾回收释放空间。排序算法改进采用k路归并排序,增强多线程伸缩性和预排序数据检测能力,进一步提升数据库处理效率。公共表表达式默认物化带来了更稳定的性能表现,并解决了过去由于内联优化带来的正确性问题。 版本在macOS平台的发布流程中也做出了突破,正式支持Apple的应用公证(notarization),提升了软件安装的安全性和可靠性,减少用户下载使用时遇到的阻碍。虽然命令行工具的完整公证还需等待系统支持,但此举为未来跨平台用户体验奠定了坚实基础。值得关注的是,DuckDB团队进一步将Python客户端拆分为独立代码库,推动语言集成模块的专业化和互相隔离,便于社区更专注地维护发展。
从战略层面看,DuckDB自此版本起,每隔一版发布长期支持(LTS)版本,响应企业用户在生产环境中追求稳定性和长期维护的需求。社区支持和官方服务的结合,为数据库用户带来更安心的使用保障。DuckDB 1.4.0 LTS的发布,体现了项目从开发快速迭代向注重稳定和成熟过渡的关键转折,也展现了开源数据库应对不断变化业务需求的灵活性和深度。 总结来看,DuckDB 1.4.0 LTS版本在数据库加密、数据合并语法丰富、数据湖生态互通、性能优化以及用户体验提升等方面均取得重大突破。这些创新不仅提升了DuckDB作为分析型数据库的产品竞争力,也拓展了其应用场景,从科研数据分析到企业数据仓库,再到云端大数据环境均提供了强有力支持。未来,随着更多扩展和改进的引入,DuckDB有望持续引领轻量级内存型数据库的技术演进,成为数据工作的核心利器。
用户可以通过访问官方网站和GitHub获取最新版本及详细的发布说明,同时注意客户端库的逐步更新和兼容性提醒。通过积极参与社区反馈和贡献,用户也将助力DuckDB迈上新的高峰。 DuckDB 1.4.0 LTS的发布,是数据库技术迈向安全、高效与智能的又一里程碑,值得所有数据工程师、分析师与开发者深入了解并使用。 。