Команда DuckDB выпустила DuckDB 2.0.0 LTS с кодовым названием «Cinnamon Teal» в честь Spatula cyanoptera, рыжевато-коричневой утки, обитающей на западе Америки. Выпуск создан на основе почти 20 000 коммитов с момента выхода DuckDB 1.5 и описывается как самый крупный релиз новых возможностей в истории проекта. Если DuckDB 1.0 был сосредоточен на стабильности и обратной совместимости, то DuckDB 2.0 прежде всего является релизом новых функций.
К основным нововведениям относятся доработанная версия протокола Quack, асинхронный ввод-вывод, полноценный тип VARIANT, агентный режим, триггеры и расширяемый SQL-парсер. Quack, представленный в DuckDB 1.5.3, позволяет запускать DuckDB в традиционной архитектуре «клиент-сервер», а новая команда CONNECT даёт возможность подключиться к удалённой базе данных и переключиться на неё одной командой. Интерфейс командной строки также получил аргументы -serve и -connect для непосредственной настройки сервера или клиента Quack.
Среди улучшений производительности — асинхронный ввод-вывод при чтении файлов Parquet и CSV, благодаря которому уровень ввода-вывода масштабируется независимо от выполнения запросов. Новый оптимизатор удалённого pushdown отправляет запросы непосредственно на удалённые серверы, такие как PostgreSQL и MySQL, вместо того чтобы передавать таблицы по сети.
DuckDB 2.0 является версией с долгосрочной поддержкой (LTS), которая будет поддерживаться не менее до октября 2027 года. Предыдущая версия LTS, 1.4, будет поддерживаться до конца ноября 2026 года, а поддержка версии 1.5 продлена до марта 2027 года. Некоторым клиентским библиотекам и расширениям может потребоваться на несколько дней больше, чтобы стать доступными.
Источник: Hacker News · Сводку подготовил HeadlinesBriefing