目录
1、图数据库概述
1.1 简介
在当前的环境中,通信、互联网、社交网络和物联网等领域积累了大量的关联数据。面对各种海量数据,尤其是海量非结构化数据的存储,传统的信息存储和组织模式已经无法满足客户需求,图数据库却能够很清晰地揭示各类复杂模式,提供了新的方式为数据赋能,驱动行业发展。
1.2 什么是图数据库
图数据库(Graph Database)不是存储图像的数据库,而是基于图模型,使用图结构进行语义操作的非关系型数据库,它应用图理论存储实体之间的关系信息,最常见例子就是社会网络中人与人之间的关系。它使用顶点、 边和属性来表示和存储数据,支持数据的增删改查操作。
在图数据库中,最主要的组成有两种,结点集和连接结点的关系。结点集就是图中一系列结点的集合,比较接近于关系数据库中所最常使用的表,而关系则是图数据库所特有的组成。
图数据库的代表有Neo4j、ArangoDB、Virtuoso、Neptune、JanusGraph、TigerGraph等。
一些常见的图数据库
1.3 图数据库的发展
据数据库咨询公司DBEngines统计,图数据库是所有数据管理系统中成长最快的分类。由于很早就被Twitter,Facebook以及Google在内的公司采用,图已经逐渐演变成当今各行各业所使用的主流技术,连续多年处于高速发展中。
图数据库发展趋势
2007年,第一款图数据库Neo4j的诞生,给关联查询带来了情理之中却又意料之外的性能优势。2010 年后,图数据库朝着多个不同的方向发展,包括支持大规模分布式图处理、支持多模态、图查询语言的设计、专用硬件的适配等,并且不断在存储和计算能力上发展。
值得关注的是,全球最具权威的 IT 研究与顾问咨询公司 Gartner,将图技术列为2022年新兴技术和趋势影响力雷达图中,五项具有影响力的技术之一。
图数据库发展史
2、图数据库技术
在我们了解科学、政府和商业领域的数据集广泛多样性的过程中,图起到了基地的作用。现实世界完全不同于关系型数据库背后的基于表的模型,它是丰富的且互相之间充满关联。一旦理解了图,你就会发现图无处不在。比如,Gartner定义了商业世界的5个图:社交、意向、消费、兴趣和移动,并指出运用这些图的能力是一个“可持续的竞争优势”。
本章将对图数据模型、图数据存储以及图数据查询等方面进行简要介绍。
2.1 图数据模型
图模型是图数据库表达图数据的抽象模型。目前主流的图模型主要包括资源描述框架(RDF)和属性图两种。
RDF提供了一个统一的标准来描述资源,所谓资源可以指类、属性、实例等。RDF 在形式上表示为 SPO(subject, predicate, object)三元组,即(主语/主体、谓语/属性、宾语/客体),用于描述具体的事物及关系。
RDF模型
相较于RDF,目前主流的图数据库选择的图模型是属性图。属性图由点、边、标签和属性组成。开源图数据库 Neo4j 和 JanusGraph 都采用属性图的数据模型。
属性图模型
2.2 图数据存储
图数据库有原生和非原生存储两种存储方式。我们以Neo4j和JanusGraph为例简要说明两种方式。
Neo4j使用原生设计的图存储,将图数据存储在若干不同的存储文件中,每个存储文件包含图特定部分的数据(例如,节点、联系、标签和属性都各自独立的存储),其中常用的存储方式为链表、排序树以及哈希表等。
JanusGraph 使用非原生图存储,将图结构序列化存储到键值对数据库中。也有很多图数据库在存储上直接使用了 NoSQL 数据库,比如键值对存储、文档存储等。
2.3 图数据查询
按照查询范围的递增顺序,面向图数据的查询可以大体分成单点查询、邻居查询、路径遍历、子图匹配和全图分析这几类。
与关系模型以及其它 NoSQL 数据模型相比,基于图数据模型的查询具有更高的复杂度,这就对查询语言提出了更高的要求。查询语言按照编写的逻辑,可以分为描述式和命令式两种。
目前为止,图数据库尚且没有业界统一认可的查询语言,通常都是仅限于一个产品的。不过,已经有一些标准化的工作,使得Gremlin、SPARQL成为代表性描述式查询语言,Cypher成为代表性命令式查询语言。
3、图数据库的优势
图数据库为何越来越受到欢迎呢?通过节点,边和属性的图的格式存储数据,图数据库克服了其他数据库无法解决的大而复杂的数据难题,其独特性可以体现为以下三个方面:
① 性能
在关联关系的处理上,关系型数据库处理不可避免要用到表的 JOIN 操作,非常影响性能。而图数据库则是类似指针直接跳转访问,在典型查询上比关系数据库通常有n个数量级的性能优势。
② 兼容性
现实中的项目通常是不断演进的,意味着数据内容甚至数据格式也会不断发生变化。在关系型数据库中,这意味着表结构的变化,或者多个新表的建立,对源数据的改动非常大。而在图数据库里,仅需添加新的顶点、边、属性,设置为对应的类型即可。从本质上说,一个顶点代表一个特定的数据,也就是说图数据库更关注数据的个体,识别其关联关系。
③ 直观性
顶点和边的图模型相比于表模型更符合人的思维方式。比如我们面对面用纸笔交流介绍社交网络关系,会自然而然地使用点边的方式画出来,这正是图模型。在图数据上进行分析查询时,也可以直观地通过点边连接的拓扑,交互式找到想要的数据。因此有一种说法是:与关系型数据库相比,图数据关系才是真的处理“关系”的。
4、图数据库的应用
图数据库的应用原理是查询和分析连接数据,对海量数据建立关联,并通过多样及快速的方法对数据进行分析与挖掘。此外,与其他类型数据库相比,图数据库的操作更为便捷、数据更加直观、存储模式灵活、应用场景丰富,是未来处理复杂数据关系的技术趋势。
目前图数据库的需求应用场景正在不断增多,而从计算和分析数据之间关系的角度来说,图数据库比传统数据库的性能约有百倍以上的提升,在金融、电信等一系列领域都面临着巨大的需求。
以数据的关联特征与问题的相似性为基础,典型的图数据库应用场景如下:反欺诈、推荐引擎、知识图谱、主数据管理、地理空间分析以及社交网络等。
图数据库应用场景
5、我国图数据库现状
目前,欧美国家的 Neo4j 和 ArangoDB 等数据库系统仍然是市场的主流。与欧美国家相比,中国人口众多,数据量巨大,相应的图数据库需求也更大。但是,中国的图数据库基础研究相对薄弱,缺少专业的数据处理人才,更是制约了图数据库的应用与发展。
因此,在发展层面,我国需要更专注产品的技术创新层面,打造更完全自主的图数据库;在服务层面,积极探索云计算模式的图数据库服务,打造基于云计算的图数据库;在应用方面,继续在图的可视化工具方面进行创新,通过拖拽的方式,自动生成查询语言、实时反馈结果,提升图数据库的应用便捷性。通过图数据库发现不同事物、数据之间的深度关联,获得更深层次的洞察。
值得一提的是,基于AMiner的数据分析显示,我国在图数据库领域的研究热度仅次于美国,也涌现了一些比较知名的图数据库,比如:阿里云图数据库Graph Database,腾讯云图数据库Tencent Graph Database以及百度图数据库HugeGraph等。
6、图数据库的展望
当前,我们对图的了解是建立在数百年的数学和科学研究之上的,而基于此的图数据库正在用它独有的优势展现出强大的生命力。
未来,随着全球范围内互联网用户、设备和数字处理的增多,生成的数据也越来越多。也就是说,企业能否充分利用相关数据决定着企业未来的发展。图数据库将会是存储、关联和利用数据最有效的方式。可以想象的是,通过设计和实现图数据库解决方案,以及应用图算法解决复杂的商业问题的知识,将会构建出一个开拓性的信息系统。
接下来图数据库可能面临三大趋势,分别是查询语言统一化、图数据库与图处理引擎融合化、软硬件一体化。我们期待未来图数据库的发展,能够带给全行业新的面貌。
参考资料
[1] 图数据库【维基百科】
[2] 图数据库白皮书【中国信通院】
[3] Reaearch Report of Graph Database 【AMiner】
[4] Graph DBMS 【DB-ENGINES】
[5] Graph Databases【Lan Robinson】