这个项目能做什么
Dgraph 是一个开源、可水平扩展且分布式的 GraphQL 数据库,构建在图后端之上。根据其 README,它提供 ACID 事务、一致性复制和线性化读取,并从头设计以支持丰富的查询集。作为原生 GraphQL 数据库,它控制数据在磁盘上的排列方式,以优化查询性能和吞吐量,旨在减少集群中的磁盘寻道和网络调用。
该项目声称其目标是提供 Google 生产级别的规模和吞吐量,同时具备足够低的延迟,以支持对 TB 级结构化数据的实时用户查询。它支持 GraphQL 查询语法,并通过 gRPC 和 HTTP 以 JSON 和 Protocol Buffers 格式响应。Dgraph 使用 Go 编写。
状态和平台:README 将 v25 版本列为生产就绪,并指出多家财富 500 强公司已在生产环境中使用。官方支持涵盖 Linux/amd64 和 Linux/arm64;官方 Mac 和 Windows 支持于 2021 年停止,但该项目仍可在其他平台上构建和使用,只是不提供官方支持。Docker 是推荐的测试和部署方法,提供官方镜像和独立的快速启动命令。从源码构建需要 Go 1.27+ 和构建工具,使用 `make setup` 和 `make install`。
README 建议 Dgraph 可能适用于具有许多相互关联的表、稀疏数据、需要灵活模式以及大规模性能需求的应用。它结合了类似 NoSQL 的可扩展性与类似 SQL 的事务能力,并支持数据点的选择、过滤和聚合,以及分布式连接、遍历和图操作。
README 中的对比表将 Dgraph 与 Neo4j 和 JanusGraph 在架构、复制、分片再平衡、查询语言、协议、事务、全文搜索、正则表达式、地理搜索和许可证方面进行了对比。Dgraph 被描述为分片和分布式的,具有一致性复制、自动数据移动以实现分片再平衡、受 GraphQL 启发的语言、gRPC/HTTP 与 JSON/RDF、分布式 ACID 事务,以及 Apache 2.0 下的原生全文搜索、正则表达式和地理搜索。
文档、社区讨论、发布和贡献指南均有链接,团队维护官方支持的客户端库,同时也有社区贡献的非官方库。
评论
0 评分人数达到10人后显示
登录后参与讨论。