导语
图分析引擎又称图计算框架,主要用来进行复杂图分析,是一种能够全量数据集运行快速循环迭代的技术,适用场景包括社区发现、基因序列预测、重要性排名等,典型算法有PageRank、WCC、BFS、LPA、SSSP。
TuGraph图数据管理平台社区版已于2022年9月在Github开源,本文将对TuGraph图分析引擎的技术进行剖析。
(图1.1 图分析引擎)
1 TuGraph图分析引擎概览
TuGraph的图分析引擎,面向的场景主要是全图/全量数据分析类的任务。借助TuGraph的 C++ 图分析引擎 API ,用户可以对不同数据来源的图数据快速导出一个待处理的复杂子图,然后在该子图上运行诸如BFS、PageRank、LPA、WCC等迭代式图算法,最后根据运行结果做出相应的对策。
在TuGraph中,导出和计算过程均可以通过在内存中并行处理的方式进行加速,从而达到近乎实时的处理分析,和传统方法相比,即避免了数据导出落盘的开销,又能使用紧凑的图数据结构获得计算的理想性能。
根据数据来源及实现不同,可分为Procedure、Embed和Standalone三种运行模式。其中Procedure模式和Embed模式的数据源是图存储中加载图数据,分别适用于Client/Server部署,以及服务端直接调用,后者多用于调试。
Standalone模式的数据源是TXT、二进制、ODPS文件等外部数据源,能够独立于图数据存储直接运行分析算法。
(图1.2 TuGraph图分析引擎模型图)
TuGraph图计算系统社区版内置6个基础算法,商业版内置了共34种算法。涵盖了图结构、社区发现、路径查询、重要性分析、模式挖掘和关联性分析的六大类常用方法,可以满足多种业务场景需要,因此用户几乎不需要自己实现具体的图计算过程。
算法类型 |
中文算法名 |
英文算法名 |
程序名 |
路径查询 |
广度优先搜索 |
Breadth-First Search |
bfs |
单源最短路径 |
Single-Source Shortest Path |
sssp |
|
全对最短路径 |
All-Pair Shortest Path |
apsp |
|
多源最短路径 |
Multiple-source Shortest Paths |
mssp |