Graph 大数据的数据建模

Graph 大数据的数据建模,graph,hive,google-bigquery,arangodb,bigdata,Graph,Hive,Google Bigquery,Arangodb,Bigdata,我要实现这种类型的数据库 圆圈点是各个城市 人们从一个城市到另一个城市旅行。 从一个城市到另一个城市旅行的人数通过边缘的重量来表示 是我的目标城市吗 我想要实现什么? 达到“G”的总人数 他们通过什么途径实现目标“G” 例如: 200人从A->F开始 100使用路径F->A返回A 从剩下的100名用户中,只有20名用户实现了目标“G” 因此,从右侧到达“G”的人数是80 我在“G”点需要什么信息 80人从右侧=20人(从A->F->G)+60人(从A->D->F->G) 这是一个小图表。

我要实现这种类型的数据库 圆圈点是各个城市

人们从一个城市到另一个城市旅行。 从一个城市到另一个城市旅行的人数通过边缘的重量来表示

是我的目标城市吗

我想要实现什么?

  • 达到“G”的总人数
  • 他们通过什么途径实现目标“G”
  • 例如:

    • 200人从A->F开始

    • 100使用路径F->A返回A

    • 从剩下的100名用户中,只有20名用户实现了目标“G”

    因此,从右侧到达“G”的人数是80

    我在“G”点需要什么信息

    • 80人从右侧=20人(从A->F->G)+60人(从A->D->F->G)
    这是一个小图表。 我想在有1000多个节点的图上实现这一点

    现在我正在采取的解决这个问题的方法是(使用ArangoDB):

    • 我正在创建一个顶点集合和一个边集合

    • 每个城市(A、B、C、D)都是同一个集合中的文档

    • 我正在为每一个旅行的人保存以前的完整路径

    例如,约翰从A->g旅行

    • 我在F为John保存的详细信息:{“John:A_D_F”}

    • 我在城市G为John保存的详细信息:{“John:A_D_F_G”}

    • 我对每一个旅行的人重复这一点

    简言之,我想在图中的任何点(城市)实现漏斗形。

    在Arango或其他大数据存储中,对此类图形进行数据建模的更好方法是什么?哪种大数据存储最好


    谢谢

    你的结论是正确的,把这当作一个图形问题来处理。无论您想使用哪种技术,我建议您按照这些链接中概述的一些最佳实践/示例对数据进行建模

    对于扩展到1000个甚至10000个节点的图,有很多经过验证的选择

    这里有一种可能的建模方法:

    a] 将城市和人视为节点

    b] 然后将城市到城市的路径建模为关系

    c] 此外,还应将该人作为一种关系添加到该城市

    d] 如果需要对关系进行排序,可以使用人与城市关系的属性

    下一步是

  • 在您选择的图形B中创建这些
  • 创建示例数据集
  • 运行您的查询并检查答案
  • 查看是否需要优化模型或数据


    希望这有帮助

    在我看来,您示例中的数据不足以计算路径。也就是说,你怎么知道100个去F->A的人来自200个去A->F的人,而不是那些去D->F@MoshaPasumansky是的,你说得有点对,但在真实场景中,好像有300人在城市“F”,其中100人回到了城市“A”。在真实场景中,这些人可以来自两条路径(A->F,A->D->F)为了简单起见,现在让我们假设相同的图,但是这次是非循环的和单向的(即向下流动)……然后,如何建模这类数据和什么工具是完美的解决这些问题…?谢谢!这能帮助我解决上面的问题吗?欢迎来到Stack Overflow!虽然这可以从理论上回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。