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。
The DuckDB team has released version 2.0.0 LTS "Cinnamon Teal," representing the largest feature release in the project's history, built on nearly 20,000 commits accumulated since version 1.5 1. As a long-term support release, this version will receive support through at least October 2027 1. The previous LTS version 1.4 will be supported until November 2026, while version 1.5 has been redesignated as an LTS version with support extended to March 2027 1.
The new release introduces substantial enhancements across multiple areas. The Quack protocol now includes a production-ready version designed for traditional client-server setups, accompanied by a new CONNECT statement that enables users to attach and switch to remote databases in a single command 1. Asynchronous I/O support has been added for reading Parquet and CSV files, while the VARIANT type has been elevated to a first-class type for storing semi-structured and schema-less data 1. The command-line interface now features an Agent mode that detects when it is being run by an AI agent, reducing output by 59 percent 1.
Significant architectural changes include the transition to a new PEG parser as the default, though the legacy parser derived from PostgreSQL remains available through a legacy_parser extension 1. The C API has been redesigned as version 2 with expanded capabilities, exposing file systems and table functions to extensions 1. Developers can now create custom extension repositories to host and sign their own extensions 1. New trigger functionality supports CREATE TRIGGER with BEFORE/AFTER operations, FOR EACH ROW or STATEMENT execution, and REFERENCING OLD/NEW TABLE clauses 1. Data-modifying CTEs now allow INSERT, UPDATE, DELETE, and COPY operations within pipeline steps 1.
Additional features include a new NEAREST join for top-k similarity searches in vector and embedding workloads, support for nested schemas, and new JSON manipulation functions such as json_set, json_insert, json_replace, and json_remove 1. The SQL standard FETCH FIRST and UNNEST in GROUP BY clauses are now supported 1. The release requires a C++17 compiler, discontinuing support for C++11 1, and changes the default compiler to Clang on Linux and macOS 1. The ICU library dependency has been removed, with timezone, calendar, and collation functionality now provided through an icu extension 1. Single-arrow lambda syntax has been disabled by default in favor of Python-style syntax 1. The project is also discontinuing the amalgamation build and will cease macOS x86_64 support in version 2.1 1.
评论
还没有评论,欢迎留下第一条。