DuckDB, популярная аналитическая база данных с открытым исходным кодом, которую можно назвать аналогом SQLite в мире аналитики, представила новую версию 1.4 под кодовым названием Andium. Этот релиз является версией LTS (Long Term Support), что подразумевает год поддержки сообществом.
Одним из ключевых нововведений в данной версии стало внедрение поддержки шифрования баз данных. Теперь DuckDB использует шифрование AES-256 в режиме GCM, что охватывает основной файл Базы данных, журналы изменений (WAL) и временные файлы.
Для установки ключей шифрования предусмотрен параметр ENCRYPTION_KEY
в команде ATTACH
. Функция может быть реализована с помощью встроенной библиотеки mbedtls, однако использование OpenSSL обеспечит более высокую скорость за счет аппаратного ускорения.
Еще одной важной особенностью является введение SQL-оператора MERGE INTO
. Вместо традиционного использования INSERT INTO … ON CONFLICT
, DuckDB теперь позволяет более гибко управлять вставкой и удалением данных с помощью пользовательских критериев соответствия.
В сфере хранения данных расширение duckdb-iceberg теперь также поддерживает возможность записи в Iceberg помимо чтения. Пользователи могут перемещать данные между DuckDB, DuckLake и Iceberg; при этом схемы необходимо создавать вручную в Iceberg перед записью данных.
Кроме того, среди других значительных обновлений можно отметить добавление индикатора выполнения CLI с ETA, новую оконную функцию FILL
для интерполяции пропущенных значений и интеграцию с Teradata.
Что касается производительности, то была переработана сортировка с использованием k-way merge. Materialization общих таблиц выражений (CTE) теперь происходит по умолчанию, а in-memory таблицы получили контрольные точки с опциональным сжатием.
Новые обновления также включают нотариальное заверение двоичных файлов для MacOS и перемещение интеграции Python в отдельный репозиторий duckdb/duckdb-python
.
Для дополнительной информации вы можете ознакомиться с полным анонсом здесь.
Комментарии (0)