Распределённая горизонтально масштабируемая графовая база данных с открытым исходным кодом, запросами, совместимыми с OpenCypher, и согласованностью на основе Raft.
dgraph-io/dgraph
Горизонтально масштабируемая распределённая графовая база данных с нативным интерфейсом запросов GraphQL и ACID-транзакциями.
Open source альтернатива:Neo4j
- Звёзды
- 21,821
- Форки
- 1,610
- Открытые issues
- 114
- Последний коммит
- вчера
Что это?
Dgraph — распределённая графовая база данных, написанная на Go. Она поддерживает ACID-транзакции, согласованную репликацию и линейризуемое чтение. Данные хранятся в графовой структуре, призванной сократить количество обращений к диску и сетевых вызовов внутри кластера. Для запросов используется синтаксис на основе GraphQL, а результаты возвращаются в формате JSON или Protocol Buffers по gRPC либо HTTP.
Проект рассчитан на работу с разреженными или тесно связанными данными, для хранения которых иначе потребовалось бы множество таблиц SQL, соединённых внешними ключами. Поддерживаются распределённые соединения, обходы графа, фильтрация и агрегация; также доступны встроенный полнотекстовый поиск, регулярные выражения и геопоиск.
Dgraph официально поддерживает Linux на amd64 и arm64. Для развёртывания рекомендуется Docker; также описаны варианты настройки Kubernetes и Docker Compose. Команда поддерживает официальные клиентские библиотеки, а сообщество предоставляет дополнительные клиенты.
Ключевые возможности
- 01Распределённые ACID-транзакции, согласованная репликация и линейризуемое чтение.
- 02Язык запросов на основе GraphQL с ответами в формате JSON и Protocol Buffers.
- 03Доступ по gRPC и HTTP.
- 04Встроенный полнотекстовый поиск, регулярные выражения и геопоиск.
- 05Автоматическое перемещение данных для ребалансировки шардов в кластере.
Сценарии использования
- Запросы к тесно связанным данным, например связям, рекомендациям или графам знаний.
- Замена разросшегося набора таблиц SQL, соединённых внешними ключами, на гибкую схему.
- Обработка пользовательских запросов в реальном времени к большим объёмам структурированных данных.
Быстрый старт
- 1
Загрузите официальный образ Docker
docker pull dgraph/dgraph:latest - 2
Быстро запустите автономный кластер
docker run -it -p 8080:8080 -p 9080:9080 -v ~/dgraph:/dgraph dgraph/standalone:latest
Что важно знать
- Официально поддерживаются только Linux/amd64 и Linux/arm64; поддержка Mac и Windows прекращена в 2021 году.
- Для сборки из исходного кода требуется Go 1.27 или более поздняя версия.
В подборках
Темы
Частые вопросы
- Что такое dgraph?
- Горизонтально масштабируемая распределённая графовая база данных с нативным интерфейсом запросов GraphQL и ACID-транзакциями. Dgraph — распределённая графовая база данных, написанная на Go. Она поддерживает ACID-транзакции, согласованную репликацию и линейризуемое чтение. Данные хранятся в графовой структуре, призванной сократить количество обращений к диску и сетевых вызовов внутри кластера. Для запросов используется синтаксис на основе GraphQL, а результаты возвращаются в формате JSON или Protocol Buffers по gRPC либо HTTP.
- dgraph можно использовать бесплатно? Какая у него лицензия?
- dgraph распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- dgraph всё ещё поддерживается?
- Активно поддерживается. Последний коммит в dgraph — 5 нояб. 2026 г..
- Для чего можно использовать dgraph?
- Запросы к тесно связанным данным, например связям, рекомендациям или графам знаний. Замена разросшегося набора таблиц SQL, соединённых внешними ключами, на гибкую схему. Обработка пользовательских запросов в реальном времени к большим объёмам структурированных данных.
- Как установить dgraph?
- Загрузите официальный образ Docker: docker pull dgraph/dgraph:latest Быстро запустите автономный кластер: docker run -it -p 8080:8080 -p 9080:9080 -v ~/dgraph:/dgraph dgraph/standalone:latest
- Где скачать dgraph?
- Исходный код и инструкции по установке — на GitHub: https://github.com/dgraph-io/dgraph
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Графовая база данных, которая хранит смежность в виде разреженных матриц и выполняет запросы на OpenCypher; подходит для графов знаний и задач LLM и GraphRAG.
Распределённая SQL-база данных на Rust, созданная в учебных целях: поддерживает консенсус Raft, транзакции MVCC и интерфейс SQL.
Мультимодельная база данных на Rust, объединяющая документы, графы, реляционные, временные ряды и данные «ключ—значение», с запросами в реальном времени и встроенным контролем доступа.
Графовая база данных с открытым исходным кодом на Rust: хранит графы, векторы и полнотекстовые данные в объектном хранилище и поддерживает запросы из Rust, TypeScript, Go и Python.
Открытая база данных графов знаний с самообслуживанием: AI-агенты наполняют и поддерживают структурированные типизированные данные для автоматизации процессов и принятия решений.