Что такое DuckDB?
DuckDB — это быстрая внутрипроцессная аналитическая SQL-база данных — своего рода «SQLite для аналитики». Она работает внутри вызывающего процесса без какого-либо сервера, запрашивает файлы CSV, Parquet и JSON напрямую (SELECT * FROM 'data.parquet') и говорит на богатом, дружелюбном диалекте SQL с отличной производительностью на аналитических нагрузках. Этот пакет поставляет официальный CLI duckdb.
duckdb. По той же причине один файл базы данных принадлежит одному процессу одновременно.
apt upgrade всегда держит вас на последней версии.
⚡ Ключевые возможности DuckDB
📊 Создана для аналитики
Колоночный векторизованный движок обрабатывает миллионы строк в секунду — агрегации, соединения и оконные функции на скорости OLAP.
📁 Запросы к файлам напрямую
SELECT * FROM 'events.parquet' — CSV, Parquet и JSON можно запрашивать (и записывать) без какого-либо шага импорта.
🪶 Ноль настройки
Внутрипроцессная, как SQLite: один бинарный файл, один необязательный файл базы данных, нечего администрировать.
🔌 Расширения во время выполнения
INSTALL httpfs; подтягивает подписанные расширения из официального репозитория — доступ к S3/HTTP, spatial, полнотекстовый поиск и не только.
🗣️ Дружелюбный SQL
SELECT * EXCLUDE, GROUP BY ALL, типы list/struct, PIVOT — современный диалект, убирающий шаблонный код из повседневных запросов.
🤝 Дружит с другими
Читает SQLite, PostgreSQL и MySQL через расширения; экспортирует Parquet/CSV/JSON — идеальный клей для дата-пайплайнов.
🏆 Зачем устанавливать через apt (а не snap или ручную загрузку)?
- Расширения просто работают: этот пакет использует официальную glibc-сборку upstream, поэтому
INSTALL httpfs;совместим с официальным репозиторием расширенийlinux_amd64/linux_arm64 - Каждый выпуск, включая LTS: официальные архивы Ubuntu не поставляют DuckDB — здесь все выпуски от Jammy до Resolute получают одну и ту же актуальную версию
- Без curl-to-bin: репозиторий с GPG-подписью вместо ручной загрузки бинарных файлов в
/usr/local/bin - Автоматические обновления: новые релизы upstream приходят с обычным
apt upgrade - Мульти-архитектура: amd64 и arm64 — архитектуры, для которых upstream публикует бинарные файлы CLI под Linux
📦 Установка из deb.griffo.io
Шаг 1: Добавить репозиторий
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updateШаг 2: Установить DuckDB
sudo apt install -y duckdbapt install -y duckdb🚀 Первый запуск
duckdb # in-memory interactive shell
duckdb mydb.duckdb # persistent database file
duckdb -c "SELECT * FROM 'events.parquet' LIMIT 10;" # query files directly
duckdb -c "INSTALL httpfs; LOAD httpfs;" # extensions from the official repo📦 Репозиторий сборки пакетов
Пакеты Ubuntu собираются и поддерживаются автоматически в этом репозитории GitHub:
- 📂 duckdb-debian - сборки последних релизов
🔗 Связанные пакеты
Также доступны из deb.griffo.io:
- garage - S3-совместимое объектное хранилище — запрашивайте его из DuckDB через httpfs
- tigerbeetle - распределённая база данных финансовых транзакций
- yq - работа с YAML/JSON/CSV в командной строке
💝 Поддержите этот проект
Если этот репозиторий экономит ваше время и усилия, пожалуйста, поддержите его!