文章插图
文章插图
Dgraph是一个为 web大规模的生产环境构建的开源图形数据库 , 完全用 Go 编写 。
Dgraph 有助于以更有效的方式处理相互关联的数据 。Dgraph v0.8 及更高版本使用Badger , 这是一个用纯 Go 编写的持久键值存储 。Dgraph 构建为可水平扩展 , 同时保持操作高效 , 以支持实时运行任意复杂的查询 。这样我们就可以高效地执行分布式连接、过滤和排序 , 这是一个难题 。
Dgraph的主要特点
- 分片再平衡: Dgraph 自动平衡分片之间的数据 , 并管理最大的资源管理以实现高性能 。
- 高可用: Dgraph 在复制时自动同步数据 , 因此丢失硬盘或服务器不会影响服务 。
- 用户界面: Dgraph 在 JSON 之上提供了用户界面 , 方便管理数据 。我们可以轻松地验证数据并将数据查看到 Graph 形成中 。
- 事务性: Dgraph 提供分布式 ACID 属性 , 以便我们可以执行事务性操作而无需担心任何其他事情 。
- 灵活模式: Dgraph 不适用于硬模式 。它工作在灵活模式的顶部 , 因此用户可以获得更好的体验 。随着项目的发展 , 我们可以更改架构 。
- 分布式: Dgraph 在分布式环境中工作 。它可以在数百台服务器上增加 。
- 快速: Dgraph 像搜索引擎一样工作 。它将查询划分为子查询 , 然后在并发上执行 , 以实现低延迟和高吞吐量 。
- 专为 SSD 设计: Dgraph 内部将数据存储到键值存储中 , Badger 旨在减少 RAM 使用并依赖 SSD 来提高性能 。那又快又便宜 。
地位Dgraph的版本为 v21.03.0 , 并且可以投入生产 。除了庞大的开源社区之外 , 它还被多家财富 500 强公司以及 Intuit Katlas和VMware Purser用于生产 。
Dgraph 集群Dgraph 集群由三个不同的节点组成 , 每个节点的工作方式与其他节点不同 。三个节点如下:
- Dgraph Zero:此节点控制 Dgraph 集群并分配服务器以重新平衡和分组服务器组之间的数据 。
- Dgraph 服务器:此节点托管数据的谓词和索引 。
- Dgraph Ratel:该节点提供用于运行查询、突变和更改模式的 UI 。
- 互连数据 , 例如需要连接的 SQL 表
- 高级搜索
- 模式检测
- 网络 , 如计算机、道路和电信
- 流程 , 例如业务和生物流程
- 事件和它们之间的因果关系或其他联系
- 公司或市场的结构
- 推荐引擎
- 您是否有超过 10 个通过外键连接的 SQL 表?
- 您是否有不适合 SQL 表的稀疏数据?
- 您是否想要一个简单而灵活的模式 , 随着时间的推移它是可读和可维护的?
- 您是否关心大规模的速度和性能?
Dgraph 与其他图形数据库的比较
图形
Neo4j
Janus 图
建筑学
分片和分布式
单个服务器(+ 企业中的副本)
位于其他分布式数据库之上
复制
一致性
社区版中没有(仅在企业版中可用)
通过底层数据库
重平衡
自动的
不适用(所有数据位于每台服务器上)
通过底层数据库
语言
GraphQL inspired
推荐阅读
- 故宫的神秘?故宫那些不为人知的秘密_3
- 战国时期天文学家甘德观测到了木星最大的卫星?战国时期,出现了世界上最早的天文学著作《甘石星经》
- 明代张居正改革的重要内容是什么?张居正很贪吗
- 形容杨树的诗句有哪些?赞美杨树的诗句或名言
- 做自媒体懂得收集素材,能节约95%的时间
- 最好的时光都在路上 所有的快乐不用假装?最好的时光在路上 所有快乐不用假装
- Windows系统中常用的CMD命令集合,学会慢慢成为高手
- 成人高考的作文应该怎么写?成人高考作文怎么写好_4
- 帝国CMS点击量onclick的数值过万时,换成万为单位的方法
- 帝国CMS刷新内容页提示Table '***.表前缀_ecms_news_data_' doesn't exist错误的解决方法