
DuckDB Labs официально объявила о выпуске DuckLake 1.0 — первой стабильной версии формата data lake, в котором метаданные таблиц и небольшие изменения (микротранзакции) хранятся в SQL‑каталоге, а не распределяются по множеству файлов в объектном хранилище. Релиз поставляется со стабильной спецификацией и референсной реализацией в виде расширения DuckDB; команда указывает, что это production‑ready выпуск с гарантированной обратной совместимостью.
В DuckLake 1.0 реализованы несколько ключевых технических возможностей, направленных на улучшение операций lakehouse. Среди них — data inlining, позволяющий хранить малые вставки, обновления и удаления прямо в каталоге без создания новых файлов (функция включена по умолчанию с порогом в 10 строк и обеспечивает полное инлайн‑обновление и удаление). Дополнительно добавлены поддержка сортированных таблиц для ускорения отфильтрованных запросов, «bucket partitioning» для столбцов с высокой кардинальностью, улучшения по работе с геометрическими типами и вектор удалений, совместимый со схемой Iceberg.
Авторы релиза мотивируют архитектурный выбор практическими проблемами, которые они наблюдали в file‑first подходах: распределённые метаданные в виде файлов затрудняют координацию, замедляют операции с каталогом и насыщают объектное хранилище большим количеством мелких файлов. Для сравнения, такие проекты, как Apache Iceberg, Delta Lake и Apache Hudi, преимущественно хранят метаданные как файлы и иногда добавляют отдельные сервисы каталога сверху; DuckLake же предлагает хранить метаданные напрямую в реляционной базе. Напомним, что год назад команда опубликовала так называемый «DuckLake manifesto», где аргументировала подобный переход.
Экосистема вокруг DuckLake уже включает клиентов для Apache DataFusion, Apache Spark, Trino и Pandas, а компания MotherDuck предлагает хостинг сервиса DuckLake, который управляет как базой каталога, так и хранением данных. Релиз сопровождается репозиториями с примерами и библиотеками (awesome‑ducklake), доступен на GitHub под MIT‑лицензией. В дорожной карте указаны ожидаемые улучшения: в версии 1.1 планируется, среди прочего, variant inlining между каталогами и поддержка многократных файлов Puffin для векторов удаления, а в версии 2.0 — возможности, похожие на ветвление данных (Git‑подобное) и встроенные ролевые разрешения.
Практическое значение DuckLake 1.0 в первую очередь связано с уменьшением фрагментации и накладных расходов на метаданные при частых небольших транзакциях и с ускорением операций, интенсивно работающих с каталогом. Источник не содержит детальных независимых бенчмарков производительности, поэтому утверждения о скорости и сравнении с другими форматами остаются предметом дальнейшей верификации: в обсуждениях сообщества на Hacker News отмечалось, что «числа выглядят впечатляюще по сравнению с Iceberg», а на Reddit поднимался вопрос об поддержке SMB для корпоративных сред. Эти комментарии показывают интерес сообщества и указывают на вопросы внедрения в реальных рабочих нагрузках и интеграции с корпоративной инфраструктурой, которые пока требуют дополнительного подтверждения.
Источники
Ответы (0)
Пока нет ответов в этой теме.