DuckDB 2.0.0 LTS “Cinnamon Teal” 🔥 Горячее
Вышел DuckDB 2.0.0 с длительной поддержкой (LTS), кодовое имя «Cinnamon Teal» — в честь коричной чирки, красновато-бурой утки из западных Америк. Это крупнейший по числу функций релиз: почти 20 000 коммитов с версии 1.5. В отличие от 1.0, делавшей ставку на стабильность и обратную совместимость, 2.0 — прежде всего функциональный выпуск. В него вошли отточенная версия протокола Quack, асинхронный ввод-вывод, полноценный тип VARIANT, режим агента, триггеры и расширяемый парсер SQL.
DuckDB изначально была встраиваемой базой, но теперь её можно запускать в классической схеме «клиент — сервер»: расширение quack реализует родной протокол, а новый оператор CONNECT позволяет подключать удалённую базу и переключаться на неё одной командой. Поддержка 2.0 продлится как минимум до октября 2027 года; предыдущая LTS 1.4 поддерживается до конца ноября 2026-го, а срок поддержки 1.5 продлили до марта 2027-го, фактически тоже сделав её LTS. Сборка «amalgamation» (весь исходный код в одном заголовочном и одном исходном файле) объявлена устаревшей, а платформа osx_amd64 постепенно выводится из числа полностью поддерживаемых — в 2.1 её поддержка прекратится.
Комментарии (43)
Обсуждение дополняет статью кейсами использования DuckDB как замены Spark, инструмента для анализа логов, федеративного движка для объединения разрозненных источников (включая таблицы) и основы для браузерных приложений. Основные тезисы: — Версия 2.0 значительно ускорила работу на многоядерных системах (EC2): @RobinL отмечает утилизацию до 128–192 vCPU (против 64 ранее), что позволило обработать 1 млрд записей за 10 минут. — Для сжатия логов @jiggawatts за два часа перевел 7 ТБ NDJSON из Azure в Parquet, сократив объем до 2,5%. — Асинхронный I/O при работе с удаленными данными (S3/HTTP) и паттернами glob (например, `*.parquet`) предотвращает блокировку рабочих потоков (@jtbaker, @skeeter2020). — DuckDB позволяет обходить проблемы row-based security в централизованных хранилищах, предоставляя пользователям локальные копии данных (@skeeter2020). — С помощью duckdb-wasm и оптимизации раскладки данных в браузер можно передавать от 2–3 млн строк (16–20 МБ) до 1 ГБ через HTTP range queries (@gopalv). — Клиент-серверная архитектура позволяет создавать легковесные сервисы с горизонтальным масштабированием или масштабированием до нуля через Cloud Run (@paoliniluis, @jtbaker, @bambax). — Для интеграции с инструментами анализа (например, Metabase) рекомендуются расширения Quack или поддержка Postgres wire (@nicoritschel, @paoliniluis). — При использовании в качестве основного сервера БД с транзакциями рекомендуется ограничиться одним записью (single writer) (@netcraft, @throwawaythekey).
Polars 2.0 🔥 Горячее
Polars 2.0 стал значительным шагом вперёд, объединяя улучшения производительности, поддержку SQL как первого класса и переход к потоковой обработке по умолчанию. Теперь вызов collect на LazyFrame использует потоковый движок, что снижает потребление памяти и ускоряет большинство запросов, хотя требует явного указания порядка строк для операций вроде join и group_by, чтобы избежать неожиданных результатов. Добавлен новый тип данных Map, а контроль над типами стал строже — это ускоряет обратную связь и упрощает работу с ИИ-моделями.
В тестах TPC-H и TPC-DS Polars 2.0 показал лучшие результаты среди DuckDB (1.5.6 и 2.0 alpha) и DataFusion на машинах с 16 и 192 ядрами, особенно при ограничении потоков до 32 ядер на больших системах, где изначально наблюдался накладный расход при масштабировании. На больших данных (SF100) Polars с 192 ядрами оказался в 3.8 раза быстрее на TPC-H и в 2.2 раза на TPC-DS по суммарному времени запросов, опережая DuckDB и DataFusion в масштабируемости. Исходные данные и скрипты для воспроизведения тестов доступны в открытом репозитории. Разработчики обещают улучшить масштабирование на большом числе ядер и продолжить работу над out-of-core и GeoPolars.
Комментарии (101)
Polars 2.0 почти полностью заменяет Pandas для обработки больших данных, за исключением геопространственных задач (нет аналога Geopandas, Geopolars в разработке), тонких строковых операций и совместимости с экосистемой SciPy, где Pandas доминирует из-за ожидания DataFrame-объектов. При работе с миллиардами строк Polars работает за 5 секунд против 4 минут 28 секунд у Pandas, а DuckDB использует в 19 раз меньше памяти. Потоковая обработка по умолчанию в Polars 2.0 устраняет утечки памяти от неправильного использования collect() в циклах. Пользователи отмечают лучший API и производительность Polars в greenfield-проектах, его логика ближе их мышлению. Для сложных строковых операций (например, конкатенации с текстом между столбцами) Pandas проще: df['col_a'] + 'text' + df['col_b'], тогда как Polars требует более громоздкого кода. Для научных библиотек (SciPy) Pandas предпочтительнее, так как многие инструменты ожидают DataFrame. Для сложных JOIN и агрегации на очень больших наборах данных DuckDB может быть предпочтительнее Polars. Есть противоречия в бенчмарках: некоторые утверждают, что DataFusion быстрее Polars, другие — что DuckDB уступает Polars. Также отмечается неоднозначность в поддержке наносекундных временных меток в Polars — некоторые пользователи сталкиваются с проблемой экспорта, другие нет. SQL в Polars 2.0 улучшен, но не поддерживает все операции (например, asof_join), ограничивая применение в некоторых аналитических сценариях. Пользователи, обрабатывающие миллиарды метеоданных, подтверждают, что версия 2.0 жизненно важна для их workflows. Для тех, кто использует SQL, Malloy предлагает более читаемый синтаксис, заменяя 40+ строк Polars/Pandas одной декларативной инструкцией.
AWS Acquires DuckLabs 🔥 Горячее 💬 Длинная дискуссия
DuckLabs, команда разработчиков DuckDB, DuckLake и Quack, присоединяется к AWS, сохраняя при этом открытый характер своих проектов. Команда останется в Амстердаме и продолжит работу над технологиями, которые уже достигли более миллиона ежедневных загрузок и стали фундаментом для аналитики, образования и промышленных систем по всему миру. Основная мотивация перехода — преодоление ограничений текущей модели: небольшая команда больше не могла масштабировать поддержку и инфраструктуру в соответствии с растущим спросом, рискуя стать узким местом для проекта и его сообщества.
Сотрудничество с AWS уже велось более года, включая интеграцию с Amazon S3 Tables, и показало синергетический потенциал: техническая экспертиза DuckLabs сочетается с инфраструктурой, охватом и ресурсами AWS для вывода Duck Stack на новый уровень. Критически важно, что все открытые компоненты — DuckDB, DuckLake, Quack — останутся свободно доступными под лицензией MIT, а их stewardship продолжит некоммерческая DuckDB Foundation. Основатели подчеркивают, что успех проекта принадлежит глобальному сообществу, и видят в этом шаге возможность расширить влияние DuckDB, не жертвуя его открытостью и технической целостностью.
Комментарии (307)
Тред в целом принимает переход DuckLabs в AWS, но скептичен к AWS как долгосрочному хранителю OSS после реорганизаций и ухудшающейся внутренней культуры, на фоне которой сложно удержать талант. Ключевая поправка: IP DuckDB остаётся у некоммерческой DuckDB Foundation, а DuckLabs станет дочерней компанией AWS — AWS купил команду и сервисный бизнес, а не код. Спор о пригодности AWS как дома для DuckDB: часть участников (@hobofan, @akshay_akula, @cmgs8) считает, что AWS «закапывает» технически интересные проекты при реорганизациях; другие (@georgewfraser, @hckshr) возражают — AWS технологически нейтрален, а сервисное подразделение подходит для коммерческой поддержки DuckLabs. Сами авторы опасались масштабировать коммерческую часть, чтобы не отвлекаться от OSS, поэтому покупка именно сервисного бизнеса выглядит логично. Ожидаются managed-интеграции с S3/Athena и конкуренция со Snowflake/Databricks; @karakanb видит шанс на более лёгкую альтернативу Athena через DuckDB поверх данных в S3. Сравнение с Redshift (ParAccel) и Athena (форк Trino/Presto) указывает на стратегию отвоёвывания доли у Snowflake и Databricks в эпоху AI. Допускается, что сделка могла быть упреждающей — AWS готовил managed-клон DuckDB, и команда предпочла продаться (@fidotron). Практический контекст: DuckDB широко используется как parquet-просмотрщик и для локальной разработки (@ferguess_k), а DuckDB и DuckLake уже применяются как расширяемый фреймворк для исследовательских пайплайнов (@willbeddow, Krea). Отмечены болезни процесса контрибуции — CI на простой bugfix может занимать ~5 часов (@adsharma), что объясняет интерес к source distributions вроде Haybarn. Как «fork-ready» альтернативы обсуждаются Apache DataFusion (библиотека с Rust/Python/Java-биндингами, по опыту @tormeh лучше интегрируется в Rust-приложения, чем DuckDB) и гео-фокусный SedonaDB под Apache 2.0 (@adeptima). Опасения по «Big Tech ломает OSS» (@pepperoni_pizza, @dtnm, @log101): переписывание на Rust с AI-агентами, дрейф фокуса команды на AWS-продукты (@ganeshsivakumar), потеря OSS-импульса и развитие DuckDB как куска product suite против Databricks, а не как независимого проекта. Многие (@sakesun, @cmgs8, @srameshc) уважают лидеров проекта лично, но тревожатся за будущее из-за бренда AWS и сигналов ухода топ-таланта, замеченных в LinkedIn (@cmgs8).
A Preview of DuckDB v2.0 🔥 Горячее
DuckDB v2.0, codenamed «Cyanoptera», выходит этим осенью и представляет набор кардинальных изменений: серверный режим через расширение quack и оператор CONNECT, новый SQL‑парсер, переработанную СУБД‑структуру, асинхронный ввод‑вывод и тип VARIANT. Серверный режим позволяет любой процессу DuckDB обслуживать базы данных по сети, а клиентские запросы можно отправлять напрямую на удалённый PostgreSQL или MySQL без копирования данных. Кроме того, в v2.0 введены триггеры, более строгая типизация и поддержка транзакций в многопользовательском режиме, что делает DuckDB конкурентоспособным для аналитических и даже транзакционных нагрузок.
Ключевые нововведения: серверный режим (quack + CONNECT), новый тип VARIANT для гибкого хранения схем, асинхронный I/O ускоряющий запросы, новая хранилище‑формат с улучшенной компрессией, а также новый C‑API и небольшие, но важные ломающие изменения (переход на lambda‑синтаксис). В статье также упоминается создание DuckDB Foundation Advisory Board, который будет влиять на дальнейшее развитие проекта. Эти изменения формируют фундамент для «года DuckDB как сервера» и открывают путь к масштабным распределённым решениям.
Комментарии (113)
DuckDB v2.0 трансформируется из локального аналитического процессора в основу облачной аналитической инфраструктуры, что подтверждено использованием в продакшене: многотенантные системы с данными 5–150 ГБ на тенанта, обработка миллионов Parquet-файлов, замена серверных решений. Он превосходит PostgreSQL и MariaDB в OLAP-задачах благодаря колоночному хранению и встроенному процессу, но уступает в многопользовательской конкурентности без Quack. Поддерживает обработку данных, превышающих ОЗУ, на потребительском оборудовании, снижая требования к инфраструктуре. Асинхронный ввод-вывод в v2.0 критически важен для масштабной работы с Parquet и обеспечивает значительный прирост производительности. WASM-сборка весит ~10 МБ, пригодна для браузера; расширения не увеличивают размер бинарников существенно. Заменяет сложные ETL-пайплайны, позволяя объединять запросы к CSV, Parquet и базам данных в одном SQL-интерфейсе. Стандартная практика — анализ лог-файлов (например, Nginx access.log) на диске. Рекомендации: - Использовать Arc для ускорения сканирования через pruning при работе с Parquet. - Для расширений применять официальный шаблон extension-template. - Ручная настройка memory_limit необходима для предотвращения убийства OOM-killerом. - При аналитике в браузере кастомизировать Emscripten-сборку — она оптимизирована, но требует настройки. - Документировать новый PEG-парсер — его детали критичны для совместимости. Quack (серверный режим) и CONNECT к PostgreSQL делают DuckDB гибридным инструментом, интегрируемым с OLTP-системами. Споры: - Некоторые считают DuckDB неподходящим для распределённой обработки против AWS Athena с Trino, но Quack и DuckLake меняют эту динамику. - Одни выражают разочарование, что DuckDB не переписан на Zig, другие не видят в этом проблемы.
American solar farms 💬 Длинная дискуссия
В США создана крупнейшая в мире база данных по коммерческим солнечным фермам. Она содержит 15 тысяч массивов и 2,9 миллиона панелей, покрывающих 2,3 тысячи квадратных километров.
Данные доступны в формате GeoPackage и могут быть загружены в GIS-системы вроде QGIS. В них содержатся метаданные о местонахождении каждого объекта, его форме, площади и других атрибутах.
Для работы с датасетом автор использовал DuckDB, что позволило эффективно обрабатывать данные и конвертировать их в столбцовый формат Parquet. Исходные 108 мегабайт в GPKG сжались до 37 мегабайт.
Данные охватывают 48 штатов и округ Колумбия. Они включают как крупные коммерческие проекты, так и небольшие локальные установки.
База данных будет полезна для исследований в области энергетики, экологии и урбанистики.
Комментарии (261)
- Обсуждение показало, что солнечные фермы вызывают споры из-за влияния на ландшафт, шумов и визуального восприятия, но при этом они критикуются и за то, что не создают рабочих мест и не используют местные ресурсы.
- Участники обсуждения отмечают, что вопросы, связанные с солнечными фермами, часто политизированы и что это влияет на их размещение и финансирование.
- Также было отмечено, что в некоторых штатах солнечные фермы создают значительное количество энергии, но при этом они не создают много рабочих мест и не используют местные ресурсы.
Show HN: Base, an SQLite database editor for macOS 🔥 Горячее 💬 Длинная дискуссия
Base — компактный и мощный редактор SQLite для macOS.
Возможности
-
Инспектор схем
Быстро просматривайте структуру таблиц, типы столбцов и связи без SQL. -
Визуальный редактор таблиц
Создавайте и изменяйте таблицы мышью, безCREATE/ALTER. -
Браузер данных
Просматривайте, фильтруйте и правьте записи прямо в таблице. -
SQL-редактор
Пишите запросы с подсветкой синтаксиса, автодополнением и сохранением сниппетов. -
Импорт/Экспорт
Загружайте CSV и SQL-дампы; выгружайте в CSV, SQL, JSON и Excel.
Системные требования
macOS 15 Sequoia и выше.
Бесплатная версия ограничена; полная — единоразовая покупка.
Комментарии (166)
- Пользователи удивлены, что Base существует уже 15 лет, но плохо заметен в поиске.
- Хвалят «ремесленный» подход: маленькая команда, узкая задача, высокое качество.
- Часто сравнивают с TablePlus, Postico и sqlitebrowser, отмечая превосходство в «родном» macOS-UX.
- Просят добавить DuckDB, UUID, автозагрузку расширений, FK по умолчанию и диаграммы схемы.
- Покупатели благодарны за возможность покупки вне Mac App Store и за льготную цену.