【问题标题】:Why there are not so many graph databases as graph processing frameworks?为什么没有那么多图数据库作为图处理框架?
【发布时间】:2018-11-26 15:39:50
【问题描述】:

对于图数据库,尤其是那些活跃的和分布式的,我知道一些但不是很多。像orientdb、Titan、Dex等。

关于图形处理框架,有大量的工具,如 graphx、graph lab、powergraph、xstream、pregel 等,而且每年都会推出更多。

谁能告诉我这两类工具的区别?它们可以交换吗?为什么图数据库作为图处理框架没有引起足够的关注?

【问题讨论】:

    标签: database graph


    【解决方案1】:

    图数据库和图处理框架的区别在于,数据库的构建是为了以图的基本形式保存数据,其中数据之间的关系是用边构建的,数据点是用节点/顶点构建的。一些数据库,比如 OrientDB 大大扩展了这个基本概念,使数据库更加通用。其他人则不太通用。虽然一般来说,主要目标是将数据保存为类似图形的形式、边和顶点。

    另一方面,借助图形处理框架,它们获取一组数据并根据数据构建分析图。目标主要是分析数据中的图形模式或结构。

    据我所知,我将尝试将其进行类比。

    假设你有一个装满潘趣酒的潘趣碗(你的数据)。

    在图形数据库场景中,拳头已经是一个图形,您可以查看碗并查看图形中的所有内容并对其进行分析。

    使用图形处理框架,您也可以拥有一个装满东西的大酒杯,但它很模糊,您无法直接看到其中的任何图形。要获得某种类型的图表,您首先必须舀出一些冲头,比如说,“图形处理勺”。这使您可以看到某种图形一致性,具体取决于您选择尝试分析数据的算法。当然,取决于您的机器或系统,例如 Spark,图形处理包可能很大,甚至与您的整个潘趣碗一样大,甚至更大。

    不过,从冲床(您的数据)中制作“合理的图表”需要时间和处理。另一件事是,如果你想存储这个新发现的分析图形冲头的勺子,你必须有另一个碗把它放进去。而且,如果你把勺子掉在地板上,你的图形数据就消失了.图形数据库不会发生这种情况。

    我希望这是有道理的。

    斯科特

    【讨论】:

    • 谢谢!这是一个很好的类比,帮助我清楚地了解它们的区别。从您的示例来看,在我看来,图形数据库更通用,您甚至可以直接对数据进行分析,那么为什么像 GraphX 这样的图形处理框架如今更受欢迎呢?人们为什么不直接将他们的数据放入图形数据库中并节省制作图形的时间?
    • 它们更受欢迎,因为大多数人的潘趣酒碗里都有非图形潘趣酒。
    【解决方案2】:

    图数据库和图计算之间存在联系和隔离。

    连接: 图数据库不仅提供数据存储,还提供一系列的图数据处理,例如解决SSSP问题需要图的遍历和计算,必须得到图处理框架的支持。

    隔离: 对于PageRank、Greedy Graph Coloring等大部分的图计算,你不能使用图数据库,因为图数据库作为一个基本的存储和查询系统,并不需要具备做计算工作的能力。

    如果我说错了请指正,我也是图计算的大一新生。

    【讨论】:

      猜你喜欢
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 2014-10-23
      相关资源
      最近更新 更多