titan - Gremlin-Giraph-GraphX ?在 TitanDb 上

标签 titan gremlin tinkerpop giraph spark-graphx

我需要一些帮助来确认我的选择……并了解您是否可以给我一些信息。
我的存储数据库是带有 Cassandra 的 TitanDb。
我有一个非常大的图表。我的目标是在图表上使用 Mllib。

我的第一个想法是:将 Titan 与 GraphX 一起使用,但我没有发现任何东西或正在开发中...... TinkerPop 还没有准备好。
所以我看看Giraph。 TinkerPop,Titan 可以与 TinkerPop 的 Rexster 通信。

我的问题是:
使用 Giraph 有什么好处? Gremlin 似乎也有同样的想法并且是分布式的。

非常感谢你给我解释。我想我不太明白 Gremlin 和 Giraph(或 GraphX)之间的区别。

祝你今天过得愉快。

最佳答案

  • Gremlin 是一种图遍历语言,而
    Giraph 或 Graphx 是图形处理系统。

  • 我相信您是在要求 graphx 或 giraph 和 Titan 之间的区别。更具体地说,当您已经在图形数据库中拥有数据时,为什么还要使用图形处理系统?

    所以本质上是图数据库和图处理系统的区别。
  • 当您的应用程序需要频繁查询数据时,图形数据库就是您的助手。例如。对于 facebook 类型的应用程序,给定一个用户,返回他/她的所有 friend 。这适用于图形数据库,您可以使用 gremlin 进行查询。
  • 现在,如果您想计算 facebook 中每个用户的排名,您需要在整个图上运行 pagerank 算法。换句话说,pagerank 算法处理您的整个图形并返回 map 。这适用于图形处理系统。是的,您可以使用 gremlin 框架编写查询来执行此操作,但是 1. 它不会像 giraph 或 graphx 使用的底层预凝胶模型那样用户友好。 2.效率不高。

  • 总而言之,这实际上取决于您的应用程序。如果您认为您的应用程序类似于查询。不要费心加载卸载到任何图形处理系统中。如果您认为您的应用程序更像是 pagerank(需要处理整个图)并且您有一个大图(至少 1M 边)。选择 giraph 或 graphx。

    giraph 和 graphx 具有图形输入格式。您可以将数据转储到文件中的该格式中,然后将其输入到其中一个系统中,或者您可以编写自己的输入格式。

    附言最好在 giraph graphx 中添加一种输入格式,它接受存储在 Titan 中的数据。

    关于titan - Gremlin-Giraph-GraphX ?在 TitanDb 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29095959/

    相关文章:

    database - Titan 索引更新时间过长

    java - 从外部 json 文件导入新顶点

    php - OrientDB PHP/Gremlin 桥

    java - 如何在java中使用Gremlin PipeLine使用类似搜索填充的顶点集之间添加边

    database - Titan如何在HBASE中存储数据

    java - 创建 bean 时出现 Spring ClassNotFoundException

    java - 通过 Gremlin 连接到 DynamoDB Local

    Titan:添加新顶点或边后刷新图形

    gremlin - TinkerPop:组合和过滤多个遍历的通用查询

    azure-cosmosdb - Cosmos DB 搜索查询采用任意字符的顶点值