web大规模的生产环境构建的开源图形数据库-Dgraph


web大规模的生产环境构建的开源图形数据库-Dgraph

文章插图
 

web大规模的生产环境构建的开源图形数据库-Dgraph

文章插图
 
Dgraph是一个为 web大规模的生产环境构建的开源图形数据库 , 完全用 Go 编写 。
Dgraph 有助于以更有效的方式处理相互关联的数据 。Dgraph v0.8 及更高版本使用Badger , 这是一个用纯 Go 编写的持久键值存储 。Dgraph 构建为可水平扩展 , 同时保持操作高效 , 以支持实时运行任意复杂的查询 。这样我们就可以高效地执行分布式连接、过滤和排序 , 这是一个难题 。
Dgraph的主要特点
  1. 分片再平衡: Dgraph 自动平衡分片之间的数据 , 并管理最大的资源管理以实现高性能 。
  2. 高可用: Dgraph 在复制时自动同步数据 , 因此丢失硬盘或服务器不会影响服务 。
  3. 用户界面: Dgraph 在 JSON 之上提供了用户界面 , 方便管理数据 。我们可以轻松地验证数据并将数据查看到 Graph 形成中 。
  4. 事务性: Dgraph 提供分布式 ACID 属性 , 以便我们可以执行事务性操作而无需担心任何其他事情 。
  5. 灵活模式: Dgraph 不适用于硬模式 。它工作在灵活模式的顶部 , 因此用户可以获得更好的体验 。随着项目的发展 , 我们可以更改架构 。
  6. 分布式: Dgraph 在分布式环境中工作 。它可以在数百台服务器上增加 。
  7. 快速: Dgraph 像搜索引擎一样工作 。它将查询划分为子查询 , 然后在并发上执行 , 以实现低延迟和高吞吐量 。
  8. 专为 SSD 设计: Dgraph 内部将数据存储到键值存储中 , Badger 旨在减少 RAM 使用并依赖 SSD 来提高性能 。那又快又便宜 。
这些是 Dgraph 的主要关键特性 , 有助于实现目标并以更好的方式轻松构建应用程序 。
地位Dgraph的版本为 v21.03.0 , 并且可以投入生产 。除了庞大的开源社区之外 , 它还被多家财富 500 强公司以及 Intuit Katlas和VMware Purser用于生产 。
Dgraph 集群Dgraph 集群由三个不同的节点组成 , 每个节点的工作方式与其他节点不同 。三个节点如下:
  1. Dgraph Zero:此节点控制 Dgraph 集群并分配服务器以重新平衡和分组服务器组之间的数据 。
  2. Dgraph 服务器:此节点托管数据的谓词和索引 。
  3. Dgraph Ratel:该节点提供用于运行查询、突变和更改模式的 UI 。
开始使用【web大规模的生产环境构建的开源图形数据库-Dgraph】Dgraph 图数据库适用:
  • 互连数据 , 例如需要连接的 SQL 表
  • 高级搜索
  • 模式检测
  • 网络 , 如计算机、道路和电信
  • 流程 , 例如业务和生物流程
  • 事件和它们之间的因果关系或其他联系
  • 公司或市场的结构
  • 推荐引擎
Dgraph 是我的正确选择吗?
  • 您是否有超过 10 个通过外键连接的 SQL 表?
  • 您是否有不适合 SQL 表的稀疏数据?
  • 您是否想要一个简单而灵活的模式 , 随着时间的推移它是可读和可维护的?
  • 您是否关心大规模的速度和性能?
如果上述答案是肯定的 , 那么 Dgraph 将非常适合您的应用程序 。Dgraph 提供类似 NoSQL 的可扩展性 , 同时提供类似 SQL的事务以及选择、过滤和聚合数据点的能力 。它将其与分布式连接、遍历和图形操作相结合 , 这使得使用它构建应用程序变得容易 。
Dgraph 与其他图形数据库的比较 特征
图形
Neo4j
Janus 图
建筑学
分片和分布式
单个服务器(+ 企业中的副本)
位于其他分布式数据库之上
复制
一致性
社区版中没有(仅在企业版中可用)
通过底层数据库
重平衡
自动的
不适用(所有数据位于每台服务器上)
通过底层数据库
语言
GraphQL inspired


推荐阅读