【问题标题】:What is meant by fan-out in entity-relationships graph databases?实体关系图数据库中的扇出是什么意思?
【发布时间】:2021-07-17 21:07:13
【问题描述】:

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

这里扇出的意思我不明白。

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

  • 查询中的大量扇出请求会导致网络等问题 拥塞、尾部延迟和 CPU 边界。点击here查看论文。
  • 扇入是对调用其他函数或方法(例如 X)的函数或方法数量的度量。扇出是函数 X 调用的函数的数量。它用作基于调用图的指标。点击here获取来源。

我不确定上述点如何与 Dgraph 论文中讨论的基于实体的图相关。是不是实体与其他实体有很多关系,所以一个实体有很多边?

【问题讨论】:

    标签: graph graph-databases dgraph


    【解决方案1】:

    简而言之:是的,在某些情况下,一个实体可以附加许多边。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2022-12-15
      • 2010-10-19
      • 2010-10-13
      • 2011-09-25
      • 1970-01-01
      • 2010-11-09
      相关资源
      最近更新 更多