基于图数据库的企业数据查询优化技术

(整期优先)网络出版时间:2023-12-12
/ 2

基于图数据库的企业数据查询优化技术

陈昕宇

1. 中国铁路设计集团有限公司 信息化院, 天津市 300308

摘 要:随着企业信息化的发展,高关联度数据的数据量不断增加,在面对部分复杂数据查询情景时,由于需要大量的连接操作,会造成性能的下降。本文基于图数据库技术提出了一种数据存储和查询解决方案,结合企业信息化数据的特点设计了应用场景,并进行了查询性能的测试。实验效果表明,在面对数据量大、连接次数多的查询场景时,相比于传统关系型数据,图数据库可以提升执行效率。

关键词:  图数据库;高关联性


基于图数据库的企业数据查询优化技术

1需求分析

随着互联网技术和大数据技术的不断发展,数据量的增长速度越来越快,数据的种类也越来越多,数据分析和查询的难度也越来越大。传统的关系型数据库虽然能够存储结构化数据,并通过 SQL 语句进行查询和分析,但是对于非结构化数据或者关联度高的结构化数据,传统的关系型数据库并不擅长处理。此时,图数据库应运而生。

图(Graph)是一种由点(Vertex)和边(Edge)及其属性(Property)构成的通用数据结构,以表达自然世界中实体间的关联关系,被广泛应用于知识图谱、社交网络、金融网络、生物蛋白质分析等各种垂直领域。随着各行各业生产的数据规模增长,大规模图数据管理在近十年来受到了越来越多的重视,图数据库也正在被广泛的开发和研究,以实现高效的图状数据存储和查询。

当前企业信息化建设以关系型数据库为主,随着企业信息化的发展,业务之间联系日益紧密,高关联度数据的数据量不断增加,传统的关系型数据库在处理这些关联数据时,大量的连接操作会造成性能下降,遍历并抽取关系网络能力较弱。因此在企业部分查询场景中,会存在处理效率低的问题。作为一种新兴的数据库,图数据库是专门设计来处理高关联度数据的数据库系统。它以图形结构(如网络)的形式来存储和查询数据,特别适合处理大量连接操作和高关联度的数据。通过利用图数据库存储企业部分高度互联的数据,高效地处理节点之间的连接和查询,可提供更快的查询速度和更优的查询性能。

2  关键技术

通过图数据库技术实现查询性能提升的原理主要是通过采用图的存储方式以及高效的查询算法。

图数据库采用图的存储方式,即将数据对象之间的关系以边的形式存储。这种方式使得数据之间的关系更加直观和易于理解。相比传统的关系型数据库,图数据库的存储结构更加紧凑,减少了数据的冗余,提高了查询效率。基于原生图的图数据库利用邻接表或邻接矩阵等存储结构来保存图数据,可以更快地访问节点的邻居。

同时,图数据库采用高效的查询算法,如广度优先搜索(BFS)和深度优先搜索(DFS),可以在图数据中快速地查找和访问节点。这些算法可以高效地处理大规模的图数据,提供更快的查询和处理速度。

此外,图数据库通常会使用索引和缓存来提高查询性能。索引可以加快查询速度,而缓存则可以将经常访问的数据保存在内存中,减少磁盘I/O操作,从而提高查询效率。

3  应用领域

图数据库的应用领域主要包括以下几个方面:

1.社交网络

社交网络是图数据库应用的典型场景之一。在社交网络中,用户之间的关系可以用图的形式表示,每个用户都是一个节点,用户之间的关系可以用边来表示。利用图数据库进行社交网络分析,可以很容易地找到用户之间的关联关系,从而做出更准确的人脉推荐和关系分析。

2.商品推荐

在电商领域中,商品推荐是一项非常重要的业务。传统的推荐算法往往只考虑商品之间的相似度,而没有考虑用户之间的相似度和联系。而利用图数据库进行商品推荐,可以根据用户之间的关联关系,找出具有相似兴趣的用户,进而推荐相应的商品。同时,图数据库的查询速度更快,可以支持实时推荐。

3.风险控制

在金融领域中,利用图数据库可以很好地实现风险控制。在银行借贷业务中,通过对客户之间的关系进行分析,可以找到客户之间的担保关系和还款关系,从而评估客户的信用风险。

4.人脉分析

在商务活动中,通过对企业员工之间的关系进行分析,可以找到员工之间的联系和权利关系,从而实现组织架构的分析和管理。

4  实验设计与验证

结合企业信息化现状和数据的特点,本课题基于图数据库设计了一种应用场景,并分别在关系型数据库(Oracle)和图数据库(NebulaGraph)下进行了查询性能的测试。

该应用场景涉及项目、人员、获奖信息,其中涉及的存储对象包括以下内容:

(1)人员信息;

(2)项目信息(包括人员在项目中担任的职务,主管领导/总体/专线/项目成员)

(3)获奖信息(包括获奖项目、获奖人员)

如果利用传统的关系型数据库,那么就会产生以下几个数据表(这里字段信息只选取本应用场景涉及的关键信息):

人员信息表(表名:people)

字段

含义

people_id

人员id

people_name

人员姓名

项目信息表(表名:project)

字段

含义

project_id

项目id

project_name

项目名称

人员项目关系表(表名:people-project)

字段

含义

people_id

人员id

project_id

项目id

role

担任角色

奖项信息表(表名:award)

字段

含义

award_id

奖项id

award_name

奖项名称

项目获奖信息表(表名:project-award)

字段

含义

award_id

奖项id

project_id

项目id

人员获奖信息表(表名:people-award)

字段

含义

people_id

人员id

award_id

奖项id

order

排序顺序

如果换成图数据库,那么存储关系如下图所示:

针对以上数据,本文提出了一种查询需求:查询团队成员至少有5人,获得过至少3个奖项的项目。

针对不同数据量集,本文通过实验对比了Oracle和NebulaGraph的查询性能。

数据集A:500条人员信息数据,500条项目信息数据,200条奖项信息,平均每个项目5个人,1000条项目获奖信息。

数据集B:5000条人员信息数据,2000条项目信息数据,1000条奖项信息,平均每个项目5个人,5000条项目获奖信息。

实验结果如下:

数据集A

数据集B

Oracle

0.765s

32.588

NebulaGraph

0.82s

1.2s

从实验结果可以看出,当数据量小时,关系型数据库的查询效率和图数据库的遍历效率基本一致;当数据量提升时,图数据库的执行效率明显强于关系型数据库。由此可见,对于数据量大、高关联性的数据查询场景,图数据库相比于关系型数据库更加适合。

5结  论

图数据库是一种新兴的数据库,以图形结构的形式来存储和查询数据,特别适合处理大量连接操作和高关联度的数据。本文分析了企业单位信息化和数据管理的现状和查询需求,针对查询效率下降的问题,提出了利用图数据库进行部分数据存储的解决方案。通过实验对比相同数据量级下关系型数据库和图数据库的查询性能,结果表明对于数据量大、高关联性的数据查询场景,图数据库执行效率更高。因此,研究图数据库技术并探索在企业数据管理中的应用场景,有助于提高企业数据查询分析效率,丰富企业知识管理技术手段。

参 考 文 献:

[1]  刘宇宁,范冰冰 图数据库发展综述[J],计算机系统应用,2022,31(8).

[2]  辛永 黄文思 罗义旺等  基于图数据库的企业数据中台数据资源检索技术研究[J] 电子信息与通信技术 2019,17(7):6-10.