分享

分布式图计算引擎

 6979阿强 2022-02-28

最近在做一个图数据库系统的项目,接触到GraphScope,搜了下发现是阿里发布的分布式图处理框。之前没接触过,所以了解下,常见的还有NetworkX、CuGraph、GraphLab等等,但基本都是国外的。国内大厂就有阿里的GraphScope,腾讯的Plato,字节的ByteGraph。字节这个与其他的OLAP不同它是属于OLTP,但也在朝OLAP发力。

上面说的OLTP和OLAP,是指联机事务处理OLTP(on-line transaction processing)和联机分析处理OLAP(On-Line Analytical Processing)。一个是做图查询,一个是图分析。GraphScope属于OLAP,是对图数据进行计算分析,下面是查的相关介绍。

框架一:NetworkX

  

NetworkX于2002年5月产生,是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。NetworkX支持创建简单无向图、有向图和多重图;内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富,简单易用。利用NetworkX可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。

框架二:GraphX

  

GraphX 是一个Spark API,它用于图和并行图的计算,通过引入顶点和边属性的有向多重图,来实现分布式图处理的需求。GraphX会将分布式图(graph-parallel)计算和分布式数据(data-parallel)统一到一个系统中,这个系统拥有一个唯一的组合API,来高效地执行复杂的图形算法。

虽然分布式图系统可以很好的计算 PageRank 等算法,但是它们不适合从不同的数据源构建图或者跨过多个图计算特征,分布式图系统的计算视图无法处理那些构建和转换图结构需求和跨图需求。所以图流水线必须通过组合graph-parallel和data- parallel来实现,但是这种组合必然会导致大量的数据移动以及数据复制,也会使得这样的系统异常复杂。

框架三:CuGraph

  

CuGraph是英伟达(Nvidia)在Nvidia GPU上实现的图形算法的集合。传统的机器学习方法对GPU的利用很少,浪费了很多的资源和探索的可能,为了提高GPU的利用效率,RAPIDS专门设计CuGraph模块用于处理图数据。

CuGraph是在Nvidia

GPU上实现的基于Python的图形算法的集合,可以加快图形处理速度,主要被应用于在图形上执行高性能分析。数据科学家和软件开发人员可以使用这些库将GPU功能集成到他们的工作中,而无需了解所有实现和硬件的细节。高易用性,高互操作性以及可集成、可添加动态数据结构将成为CuGraph未来的开发重点。

CuGraph是一个图数据的分析框架,并不能用于替代图数据库,如何在分析图数据的同时,实现增删改查等数据库常见功能,将是CuGraph的重点探讨方向。

框架四:GraphScope

  

GraphScope 是阿里巴巴达摩院智能计算实验室研发并开源的,依托于阿里海量数据和丰富场景的一站式图计算平台。

GraphScope 能同时支持算法的自动并行化和自动增量化处理动态图更新,支持数据的分区、元数据的管理,可以为上层应用提供本机零拷贝的数据读取,具有一站式、开发便捷、性能极致的特点。它在业界首次支持Gremlin分布式编译优化,提供了各类连通性计算类、社区发现类和数值计算类的常用分析算法,做到了企业级场景的极致性能。

0人点赞

日记本

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多