实体关系图数据库中的扇出是什么意思?

问题描述

Dgraph paper中,提到实体在服务器之间随机分片,它们与其他实体的关系与自身有关。这会导致图形查询中间步骤的高扇出结果集导致服务器上的广播和执行连接的高延迟。

我不明白这里扇出的含义。

我尝试从基础知识中理解,这就是我发现的:

我不确定上面的点与 Dgraph 论文中讨论的基于实体的图有何关系。实体与其他实体之间有很多关系,因此一个实体有很多边吗?

解决方法

简而言之:是的,在某些情况下,一个实体可以有很多条边。

在第一篇论文中,分片基于谓词“lives-in”和“eats”。在这个描述中,所有“存在”数据都在一个分片中,所有“吃”数据都在另一个分片中,论文说:“假设最坏的情况是集群如此之大,每个分片都生活在一个单独的服务器。”

现在,考虑一个包含多个谓词的查询,每个谓词都在自己的分片中,每个分片都位于不同的服务器上。

Find any person 
    that lives-in ???,that eats ???,that drinks ???,that drives ???,that reads ???

随着谓词数量的增加(即被询问的分片的数量),我们看到论文中描述的高扇出。集群“广播”的数量显着增长,导致查询延迟成比例增长。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...