Repolode
dgraph-io

dgraph-io/dgraph

一款可水平扩展的分布式图数据库,原生支持 GraphQL 查询与 ACID 事务。

可替代:Neo4j

Star
21,821
Fork
1,610
未关闭 Issue
114
最近提交
昨天

这是什么?

Dgraph 是一款用 Go 编写的分布式图数据库,提供 ACID 事务、一致性复制和线性一致读取。数据在磁盘上按图结构组织,以减少集群内的磁盘寻道和网络调用。查询采用受 GraphQL 启发的语法,结果可以 JSON 或 Protocol Buffers 格式通过 gRPC 或 HTTP 返回。

它适合数据稀疏、关联复杂、用 SQL 表加外键难以优雅建模的场景。系统支持分布式 join、图遍历、过滤和聚合,并原生提供全文检索、正则表达式和地理位置搜索。

官方支持 Linux 的 amd64 与 arm64 架构,推荐使用 Docker 部署,同时提供 Docker Compose 和 Kubernetes 的安装方式。团队维护了多个官方客户端库,社区也贡献了非官方客户端。

核心功能

  • 01分布式 ACID 事务,支持一致性复制与线性一致读取。
  • 02采用受 GraphQL 启发的查询语言,返回 JSON 或 Protocol Buffers。
  • 03支持通过 gRPC 和 HTTP 访问。
  • 04原生支持全文检索、正则表达式和地理位置搜索。
  • 05集群内分片再平衡时自动迁移数据。

适用场景

  • 查询关系、推荐或知识图谱等高度关联的数据。
  • 用灵活的 schema 替代通过外键相连的大量 SQL 表。
  • 在海量结构化数据上提供实时用户查询服务。

快速上手

  1. 1

    拉取官方 Docker 镜像

    docker pull dgraph/dgraph:latest
  2. 2

    运行快速单机集群

    docker run -it -p 8080:8080 -p 9080:9080 -v ~/dgraph:/dgraph dgraph/standalone:latest

使用前须知

  • 仅正式支持 Linux/amd64 和 Linux/arm64;2021 年已停止对 Mac 和 Windows 的官方支持。
  • 从源码构建需要 Go 1.27 或更高版本。

收录于专题

标签

常见问题

dgraph 是什么?
一款可水平扩展的分布式图数据库,原生支持 GraphQL 查询与 ACID 事务。 Dgraph 是一款用 Go 编写的分布式图数据库,提供 ACID 事务、一致性复制和线性一致读取。数据在磁盘上按图结构组织,以减少集群内的磁盘寻道和网络调用。查询采用受 GraphQL 启发的语法,结果可以 JSON 或 Protocol Buffers 格式通过 gRPC 或 HTTP 返回。
dgraph 可以免费使用吗?用的什么许可证?
dgraph 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
dgraph 还在维护吗?
活跃维护中。dgraph 最近一次提交是在 2026年11月5日。
dgraph 适合用来做什么?
查询关系、推荐或知识图谱等高度关联的数据。 用灵活的 schema 替代通过外键相连的大量 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目