首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分片图形数据库

分片图形数据库
EN

Stack Overflow用户
提问于 2020-05-20 05:49:34
回答 2查看 819关注 0票数 2

我想知道,像Dgraph和TigerGraph这样的数据库是如何在不中断节点之间连接的情况下,为了支持水平缩放而对图进行分片的,此外还支持许多有趣的算法。

他们声称是一个原生的图形解决方案,所以像facebook或twitter这样的方法在这里不是这样的。

我脑海中出现的唯一解决方案是将图分散到如此多的小型数据库中,这导致了如此多的节点重复来维护关系。

有什么想法吗?

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2020-06-11 06:15:34

因此,从技术上讲,关于图形分片有两个原则要遵循。第一种是Edge-Cut,它将一条边分成两部分(传入和传出),并将它们分别存储在不同的服务器上。与边相关联的每个顶点被分布到集群中的特定服务器。星云图,一个分布式图形数据库,遵循这种方法。第二个是Vertex-Cut,它将一个顶点分成N个部分(取决于顶点有多少条边),并将它们存储在不同的服务器中。然后,将与顶点相关联的每条边分布到集群中的特定服务器。GraphX是这样做的。

然而,图分片无论如何都是一个NP问题,这比SQL中的分片难得多。因此,一些供应商的做法可能与仅切割边缘或仅切割顶点有所不同。例如,你的想法,即扩展子图,有点像Neo4j Fabric。一些供应商将整个图结构(不包括属性)放入单个主机内存中,以便抓取子图非常快。而一些厂商采用邻接表来分离图中的节点和边,而没有过多地考虑局部性。

票数 4
EN

Stack Overflow用户

发布于 2021-02-19 23:13:40

Objectivity/DB是一个自然分布的对象/图形数据库。节点最多可分布在65,000台服务器上。Server-A上的Node-1可以边缘连接到Server-B上的Node-2,无需复制节点。Objectivity/DB是可大规模扩展的,并且以“接近”的实时速度运行。我还可以执行高速导航查询,这些查询计算100度长的路径,并跨越多个服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61901331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档