Folia
← 返回头版

DuckDB 2.0.0 LTS "Cinnamon Teal"正式发布

DuckDB团队发布了版本2.0.0 LTS"Cinnamon Teal",这是该数据库系统迄今为止最大的功能版本,汇聚了自1.5版本以来近20000次提交的成果1。作为长期支持版本,2.0.0将提供支持至少到2027年10月1。同时,前一个LTS版本1.4的支持周期预计至2026年11月,而1.5版本的支持期也已延长至2027年3月并升级为LTS版本1。

该版本在协议与连接方面引入了完善的Quack协议用于传统客户端-服务器设置,并新增CONNECT语句支持在单个命令中附加和切换到远程数据库1。性能优化方面,DuckDB实现了异步I/O来加速Parquet和CSV文件的读取1。数据类型方面,VARIANT类型晋升为一级类型,增强了对半结构化、无模式数据的存储能力1。CLI功能新增Agent模式,可检测AI代理的运行情景并将输出减少59%1。

功能扩展包括触发器支持(CREATE TRIGGER、BEFORE/AFTER、FOR EACH ROW/STATEMENT、REFERENCING OLD/NEW TABLE、DROP TRIGGER)以及数据修改CTE,允许在管道步骤中使用INSERT、UPDATE、DELETE、COPY等操作1。SQL查询能力新增NEAREST连接用于向量和嵌入工作负载的top-k相似度搜索,支持嵌套模式(如CREATE SCHEMA finance.reports),以及JSON变异函数(json_set、json_insert、json_replace、json_remove)和SQL标准FETCH FIRST等功能1。

架构方面,新的PEG解析器成为默认选项,基于PostgreSQL派生的旧解析器仍可通过legacy_parser扩展启用1。新C API v2更为强大,向扩展暴露了文件系统和表函数1。扩展生态方面,DuckDB现支持自定义扩展存储库,使组织能够托管和签名自有扩展1。技术栈层面,2.0.0要求C++17编译器并不再支持C++11,默认编译器改为Clang(Linux和macOS),同时移除了ICU库依赖,相关功能由icu扩展实现1。此外,单箭头lambda语法(x -> x + 1)默认被禁用,改用Python风格(lambda x: x + 1),合并构建已被弃用,而macOS x86_64支持也在逐步淘汰,计划于DuckDB 2.1版本停止支持1。


评论