← Все новости

DuckDB 2.0 LTS: режим сервера, асинхронный I/O, тип VARIANT и режим для AI-агентовDuckDB 2.0 LTS: server mode, async I/O, a VARIANT type and an agent mode

Крупнейший релиз встраиваемой аналитической СУБД превращает её в полноценный сервер через протокол Quack, добавляет триггеры и новый расширяемый парсер SQL. Версия поддерживается минимум до октября 2027 года, но файлы, созданные 2.0, старые версии не прочитают.The embedded analytics database's biggest release turns it into a full server via the Quack protocol and adds triggers and a new extensible SQL parser. It is supported until at least October 2027, but files created by 2.0 can't be read by older versions.

21 октября вышла DuckDB 2.0.0 LTS «Cinnamon Teal» — самый большой релиз проекта. Это LTS-версия с поддержкой минимум до октября 2027 года.

Главное

  • Сервер через Quack. Расширение quack позволяет любому процессу DuckDB отдавать свои базы: quack_serve() на сервере, ATTACH 'quack:...' на клиенте. Новый оператор CONNECT подключает удалённую базу и переключается на неё, работает и с PostgreSQL/MySQL. По умолчанию сервер слушает только localhost — наружу рекомендуют выставлять через TLS-прокси.
  • Асинхронный I/O для Parquet, CSV и родного формата — заметный выигрыш при чтении из S3 и другого объектного хранилища.
  • Тип VARIANT хранит полуструктурированные данные вроде JSON в колоночном виде и автоматически «нарезает» общую структуру для сжатия и скорости.
  • Режим для агентов. CLI распознаёт, что его запускает AI-агент, и выдаёт компактные Markdown-таблицы, ошибки в JSON и оценку стоимости долгих запросов. На TPC-H объём вывода, который читает модель, сократился на 59%.
  • Триггеры BEFORE/AFTER, построчные и на оператор, с transition-таблицами.
  • PEG-парсер стал парсером по умолчанию: расширения могут добавлять собственный синтаксис SQL.

Совместимость

Файлы, созданные 2.0, не открываются версиями до 2.0. Однострочные лямбды x -> x + 1 по умолчанию отключены в пользу lambda x: x + 1, для сборки нужен C++17, поддержку macOS x86_64 уберут в 2.1. Ветка 1.4 поддерживается до 17 ноября 2026 года, 1.5 — до марта 2027-го.

DuckDB 2.0.0 LTS “Cinnamon Teal”, the project’s largest release, shipped on October 21. It is an LTS version supported until at least October 2027.

Highlights

  • A server via Quack. The quack extension lets any DuckDB process serve its databases: quack_serve() on the server, ATTACH 'quack:...' on the client. A new CONNECT statement attaches a remote database and switches to it, and also works with PostgreSQL/MySQL. By default the server listens on localhost only — remote access should go through a TLS proxy.
  • Async I/O for Parquet, CSV and the native format — a noticeable win when reading from S3 and other object storage.
  • A VARIANT type stores semi-structured data like JSON in columnar form and automatically shreds common structure for compression and speed.
  • Agent mode. The CLI detects when an AI agent runs it and prints compact Markdown tables, JSON errors and cost estimates for long queries. On TPC-H it cut the output the model has to read by 59%.
  • Triggers — BEFORE/AFTER, row-level and statement-level, with transition tables.
  • The PEG parser is now the default, so extensions can add their own SQL syntax.

Compatibility

Files created by 2.0 can’t be opened by pre-2.0 versions. Single-arrow lambdas x -> x + 1 are disabled by default in favor of lambda x: x + 1, building requires C++17, and macOS x86_64 support goes away in 2.1. The 1.4 line is supported until November 17, 2026, and 1.5 until March 2027.

Источники