什么是图数据库

本文主要介绍什么是图数据库,图数据库相比于关系型数据库的优势,以及两者特点的对比。

1. 图数据库介绍

图数据库是基于图模型的数据库。与关系型数据库相比,图数据库真正注重“关系”。图数据库的主要功能是管理图数据,因此需要支持高效的点、边查询和更新;为方便用户使用,通常还需要增加对事务(transaction)的支持,以确保并发操作下的正常运行。

2. 图数据库相比较于关系型数据库的优势

图数据库的功能是传统关系型数据库的扩展。与关系型数据库仅支持的“表结构”相比,图数据库所支持的“图结构”更为灵活。图数据库在基于图的增加、删除、查询和修改方面采用不同于其他数据库的设计。在图数据操作抽象上,采用基于点的视角,例如点通过其所有“出边”(从一个点出发,连接到其他点的边)访问其邻接点。这是图数据库系统设计的核心。

图数据库的独特性体现在以下三个方面:

2.1. 性能

在关联关系处理上,使用关系型数据库不可避免地要使用表的JOIN操作,这会对性能产生较大影响;而图数据库则直接跳转访问类指针,操作关联数据的效率更高,比关系型数据库提高2到4个数量级的性能。

2.2. 兼容性

现实中,项目进程通常不断演变,数据的内容甚至数据格式也在不断变化。在关系型数据库中,这意味着表结构的变化或建立多个新表,对源数据的修改非常大。而在图数据库中,仅需添加新的点、边和属性,并将其设置为对应的类型即可。从本质上说,一个表代表一种类型的数据,一个点代表一个特定的数据。这意味着关系型数据库更关注数据类型,而图数据库更关注数据个体及其关联关系。

2.3. 直观性

使用图的方式表达现实世界的关系更直接和自然,在万物互联的时代尤为突出。如果使用关系型数据,先建立实体表,再建立关系表,最后映射数据,需要高度的抽象思维。在图数据上进行分析查询时,可以直观地通过点边连接的拓扑结构找到所需数据,无需任何专业知识。

3. 图数据库与关系型数据库对比

分类

模型

优势

劣势

举例

关系型数据库

表结构

数据高度结构化,一致性强,软件成熟度高

面向多跳的关联关系查询低效或不支持

MySQL、Oracle

图数据库

图结构

针对关联关系的建模建模和操作效率非常高

高度结构化的数据处理能力不及关系型数据库

Neo4j、TuGraph

总之,面对海量数据的存储和处理问题,传统的关系数据库已经无法满足大部分的日常数据存储需求。图数据库技术可以将关系信息存储为实体,灵活拓展数据模型。由于提供了对关联数据最直接的表达方式和图模型对异构数据的天然包容性,图数据库技术必将成为未来最热点的技术之一,为企业提供存储和分析大规模图数据的有力支持。