图数据库简介与使用场景

性能远超 Neo4j,专访图数据库 Nebula Graph 创始人

性能远超 Neo4j,专访图数据库 Nebula Graph 创始人

美团图数据库平台建设及业务实践

美团图数据库平台建设及业务实践

图数据库如何存储、查询、分析

转载来源: https://bbs.huaweicloud.com/blogs/265577

  • 图存储

​ 图数据库如何存储图,对查询和分析效率至关重要。图数据库使用图模型来操作图数据。所谓的图模型是指图数据库描述和组织图数据的方式。

​ 目前主流的图数据库选择的图模型是属性图。属性图由点、边、标签和属性组成,我们结合一个具体的属性图实例来看一下。

截图.PNG

​ 以上属性图可以帮助我们理解一些相关概念: ​ 1) 可以为点设置标签,比如 person, war等,拥有相同标签的点我们认为它们属于一个分组,是一个集合,这样刘备和曹操属于一个分组; ​ 2) 同样可以为边设置标签,标签可以为 relation等; ​ 3) 节点可以拥有很多属性,比如 style name、year等,这些属性值以键值对的形式表示,例如:刘备的style name是玄德; ​ 4) 边也可以拥有属性,比如army等; ​ 5) 边允许有方向,例如刘备和汉中之战之间的边的方向是由刘备指向汉中之战的; ​ 6) 元数据是用来描述点和边的属性信息的,元数据由若干标签组成,每个标签由若干属性组成。

  • 图查询

​ 如果我们想知道刘备的籍贯在哪,刘备和曹操是什么关系,汉中之战的发动方是谁等等,这些都属于图查询的范畴。

​ 我们知道,SQL是关系型数据库的查询语言,但是图数据库的查询语言并没有复用SQL。这是因为本质上图数据库处理的是高维数据,而SQL所适用的是二维的数据结构,其并不擅长关系的查询和操作。使用专门的图查询语言比SQL更加高效。

​ 目前主流的图查询语言包括Gremlin和Cypher等。

  • 图分析

​ 图分析是指通过各种图算法来挖掘图信息的一门技术。

​ 核心的图算法可以分成三类:路径搜索类、中心性分析类和社区发现类。

​ 路径搜索是探索图中节点通过边建立的直接或间接的联系。例如在下图中,通过路径搜索,我们发现了这样一条路径:孙策-[夫妻]-大乔-[姐妹]-小乔-[夫妻]-周瑜,据此得知孙策和周瑜是连襟的关系。路径搜索类算法广泛用于物流配送、社交关系分析等场景。

1.png

​ 中心性分析是指分析特定节点在图中的重要程度及其影响力。例如在上图中,直观来看,孙权是一个重要的人物,因为与他直接相连的边的数量最多。中心性分析类算法一般用于网页排序、意见领袖挖掘、流感传播等场景。

​ 社区发现意在发现图中联系更紧密的群体结构。如果把更多的三国人物和关系加到上图中,利用Louvain等社团挖掘类算法,我们很容易发现这些人物分属三个阵营,如下图所示。

2.png

​ 社区发现类算法可用于犯罪团伙挖掘等场景。

图数据库有什么用

​ 介绍完图数据库的主要功能,我们再来看看图数据库都有哪些应用场景。图数据库擅长的应用领域包括:

  • 社交领域:Facebook, Twitter用它来进行社交关系管理、好友推荐

​ 我们熟悉的好友推荐。就可以采用推荐好友的好友的方法。

好友.PNG

​ 徐庶和司马徽向刘备推荐诸葛亮可以通过下图形象地展示

好友推荐.PNG
  • 电商领域:华为商城用它来实现商品实时推荐

    通过分析目标用户和其他用户的喜好商品,找到相似的其他用户,把这些用户购买过的商品推荐给目标用户。

截图.PNG
  • 金融领域:中国工商银行、摩根大通用它来做风控管理

​ 目前来看,金融领域对图数据库的需求很迫切,以贷款为例,在整个贷款周期中,图数据库都能发挥巨大的作用。

贷款.PNG
  • 安平领域:公安用它来进行嫌疑关系审查、犯罪团伙挖掘

​ 东汉末年,曹操刺杀董卓,貂蝉挑拨董卓父子关系,吕布斩杀董卓,但是董卓却不知道,这些事件幕后主凶之一都有王允,如下图所示。现实中也可能是这样,幕后真凶可能与目标案件没有直接关系,只有间接的关系。

公安.PNG

什么样的场景适合用图数据库

你可以根据以下几点来判断你的问题是否需要图数据库:

如果你的问题中频繁出现多对多的关系,建议首选图数据库; 如果你的问题中数据之间的关系非常重要,建议首选图数据库; 如果你需要处理大规模数据集之间的关系,建议首选图数据库。

图数据库产品

​ 现在图数据库产品已经出现百家争鸣的局面,Neo4是老牌图数据的代表.


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注