← Все проекты
Проект / C++

CITGuru/openduck: OpenDuck — открытая распределённая DuckDB для гибридных вычислений

Запускай SQL-запросы, которые одновременно выполняются на твоём ноутбуке и в облаке, как будто это одна база данных.

OpenDuck — это open-source реализация архитектурных идей MotherDuck (гибридное выполнение, дифференциальное хранилище), но с открытым протоколом и бэкендом. Проект позволяет приаттачить удалённую базу как локальную, писать JOIN между локальными и облачными...

★ 289 C++ Форки 11 Issue 1 Оценка 7/10 Карточка проверена

Для кого это

Для разработчиков и инженеров данных, которые хотят масштабировать аналитические запросы DuckDB за пределы одной машины без переписывания кода.

Проблема / задача

DuckDB отлично работает локально, но как только данные не помещаются на диск или нужны совместные вычисления, приходится переезжать на тяжёлые облачные хранилища и менять архитектуру.

Как это работает

OpenDuck — это расширение для DuckDB, которое добавляет прозрачный доступ к удалённым таблицам через команду ATTACH. Запрос автоматически разбивается на части: одни операции выполняются локально, другие — на удалённом воркере, а промежуточные данные передаются по сети. Хранилище построено на дифференциальных слоях: данные записываются один раз, а читать их могут множество процессов. Всё работает через открытый...

Что видно по README

OpenDuck — это open-source реализация архитектурных идей MotherDuck (гибридное выполнение, дифференциальное хранилище), но с открытым протоколом и бэкендом. Проект позволяет приаттачить удалённую базу как локальную, писать JOIN между локальными и облачными таблицами и масштабировать вычисления без изменения SQL-кода. Написано в основном на Rust, с интеграцией в DuckDB через C++ расширения.

Ключевые возможности

Прозрачный доступ к удалённым таблицам через ATTACHГибридное выполнение запросов (часть локально, часть в облаке)Дифференциальное хранилище с immutable-слоями и снапшотамиОткрытый gRPC-протокол для кастомизации бэкендаЕдиный CLI для запуска шлюза, воркеров и отправки запросов

Технологии

RustC++DuckDBgRPC/TonicPostgreSQL (для метаданных хранилища)Arrow IPCPostgreSQLGogRPCProtobuf

Интересный факт

Проект использует FUSE-модуль для Linux, чтобы монтировать дифференциальное хранилище как обычную файловую систему — DuckDB видит просто файл, а под капотом идёт сложная многослойная логика.

С чего начать

  • Установите расширение openduck в DuckDB (LOAD 'openduck')
  • Запустите шлюз и воркер через CLI: openduck --hybrid
  • Выполните ATTACH 'openduck:mydb?endpoint=...' и работайте с удалёнными таблицами как с локальными

Оценка GitRadar

Удобство
6/10
Свежесть
9/10
Перспектива
8/10
Монетизация
7/10
Общая оценка
7/10

Вердикт GitRadar

Стоит пробовать, если вы уже используете DuckDB и упираетесь в её локальные ограничения. Это ранний, но амбициозный проект с чёткой архитектурой. Пока сыроват для продакшена, но отлично подходит для экспериментов и кастомизации.

Наблюдения по обновлениям

Проект активно развивается: есть единый CLI, поддержка DuckLake, метрики OpenTelemetry. Но звёзд пока мало (289), коммиты идут, но это ранняя стадия.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/CITGuru/openduck
Лицензия
MIT
Создан на GitHub
14 апреля 2026 г.
Последнее обновление репо
14 апреля 2026 г.
Последняя проверка GitRadar
14 апреля 2026 г.
Изученные файлы
extensions/openduck/test/README.md, Cargo.toml, crates/exec-gateway/src/main.rs, crates/exec-worker/src/main.rs, crates/openduck-cli/src/main.rs, crates/openduck-cli/README.md

FAQ

Что это такое?

Open-source расширение для DuckDB, которое позволяет выполнять запросы одновременно на локальной машине и удалённых серверах, с прозрачным доступом к данным.

Для кого подходит?

Для разработчиков и дата-инженеров, которые хотят масштабировать аналитику на DuckDB без перехода на тяжёлые облачные DWH.

Источники

  • GitHub исходный код и активность
  • README описание, ссылки, стартовые материалы

Нужна помощь с CITGuru/openduck?

Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.