madgraph/README.md

5.9 KiB
Raw Permalink Blame History

madgraph

一、背景介绍 1、图数据结构 图数据结构在现实世界中的多种应用中起着至关重要的作用,尤其是当数据能够以图的形式进行展示时,如交通路网、电话网络、社交媒体和金融交易等应用。许多业界知名公司的基础都是建立在图技术上的,比如:

  • 腾讯:运营着我国最大的社交网络平台,其核心是好友之间的关联关系,任意两个人之间可以通过若干个人建立联系,社交网络中的人或者发布的消息可以表示为图中的点,而人与人(关注)以及人与消息(点赞、评论)之间的行为可以表示为图中的边。
  • 字节跳动:运营着世界上最大的短视频平台,短视频博主、短视频以及观众都可以表示为点,他们之间交互的行为(比如观看、点赞、关注等)可以表示为图中的边。
  • 谷歌:早期的核心技术 PageRank 是一种用于对大量网页(或链接)进行排序的算法,用于计算网页的评分并筛选出评分最高的若干网页,是一种广泛应用的并行图计算技术。 图数据结构中的基本元素是点和边,点代表着对应的实体,而两个实体之间通过各种关系进行连接,这个关系就是图中的边。下图是一个经典的社交网络图,是最典型的点和边的关系。两点之间的边可以有权重等属性,比如两人之间的亲密度,最常见的计算问题是求任意两人之间的亲密度。两人之间还可能存在着多条路径,一个常见的问题是在众多的路径中找出最短的一条。现实应用中的社交网络图通常非常大,拥有上亿的点以及上百亿的边,因此高效地管理和处理大规模的图是当前研究的热点。

在社交网络图之外,图数据结构也能够在其他许多场景中发挥作用。在交通路网、网络设计等应用中,图数据也被广泛使用,如下图所示。

除了在传统应用中广泛使用以外,在目前热门的人工智能领域,图数据结构也是许多高级算法的基础。比如在图聚类算法、知识图谱应用以及图神经网络应用中。

2、图数据库 图数据库是管理与查询图数据结构的系统,其中最常用的图模型是属性图模型。属性图模型的表达能力强,除了点和边之外,还拥有标签以及属性的概念。图中每个点或边都属于一个(或多个,部分图数据库支持)标签,每个标签拥有若干个不同的属性,属于该标签的点或边就会附带这些相关属性。

图数据库处理的任务与关系型数据库类似主要包括OLTPonline transaction processing联机事务处理和OLAPonline analytical processing联机分析处理两类任务以下简称 TP 和 AP。TP 主要是进行在线的事务处理,例如商品秒杀、转账交易等操作,主要特点是操作数量少、访问数据量小、一致性以及性能(吞吐和延迟)要求高。而 AP 主要是做离线的统计分析,例如统计热度最高的朋友圈、计算社交网络中每个人到其他人之间的距离等,这类任务的特点是计算量大、一致性要求较低、对延迟要求高。

尽管关系型数据库统治了过去许多年,但是近年来,研究人员逐渐发现关系模型的表达能力不够。由于各种范式的限制,许多新型应用场景使用传统关系型数据库后,会导致性能较低。在社交网络应用中,人与人之间在社交网络账号上的关注关系可以非常容易地使用属性图来建模,但在关系型数据库中却需要多个表来表示,如下图所示: 在查询指定一个人的朋友的朋友时二度邻居在图数据结构上只需要进行两次跳跃即可找到所需的结果但关系型数据库中却需要多次昂贵的连接join操作才能完成而连接操作是关系型数据库中最昂贵的操作因此图数据库在这类应用上的性能远超传统关系型数据库。

由于图数据结构的特点以及应用特征,目前图数据库广泛使用的场景主要是 AP 任务。为了应对各类复杂的分析任务,并且充分针对图数据结构做优化,各类图数据库中都会提供图分析模块。图分析模块会将图数据库作为后端存储,提供高效的计算框架以及编程接口,去支持复杂的图算法任务,比如传统图算法 PageRank网页排名、SSSP单源最短路径、BFS宽度优先遍历 等,以及 GNN图神经网络、智能推理等人工智能任务。然而目前国内外领先的图数据库Neo4j、TuGraph、Nebula Graph 等)中的图分析模块,通常只支持全内存计算,主要的计算流程是从图数据库中加载一份数据快照到内存中,然后并行地进行计算任务。这种方案在数据量较小的情况下性能很高,但是随着数据量的大小超过内存容量,将会导致分析模块不可用。随着如今各类技术与应用的不断发展,世界上的数据量不断膨胀。智能推理等人工智能应用需要处理足够巨大的数据量,才能够得到更准确的推理分析结果。纯内存计算限制了这类应用的规模,因此支持扩展到磁盘的分析引擎具有巨大的应用价值。

九源智能推理图数据库是一个基于国产化硬件平台设计的、面向智能推理场景的高性能图数据库系统。本系统能够支持各类丰富的计算与查询任务,支持不同的应用使用方式,从而满足智能推理场景复杂的应用需求。本系统功能全面,既支持 Cypher 查询语言,又支持插件化的图分析与图查询任务,并且在性能上远超国内外主流图数据库产品。在图数据库领域权威的 LDBC 基准测试中,性能超过目前榜单世界第一的 AtlasGraph 50%在图分析任务场景下目前支持的14种高速插件分析算法性能均超过国际主流产品 Neo4j。