近日,中国工程院院士,清华大学计算机科学与技术系教授郑纬民先生,在人民日报发表文章《把握图数据库自主创新机遇》,建议国内科研学者和工程人员,要在图数据库的理论研究与工程研发上坚持自主创新道路,确保技术的引领性和产品的竞争力,从而实现图数据库从技术到产业的全面突破性发展。
什么是图数据库?
图数据库是一种使用图结构进行存储和查询的数据库,其中结点和边用于对数据进行表示和存储。在图数据库中,数据项结点通过边相互集合关联,代表了结点与结点之间的关系。这些关系允许将数据库中存储的数据连接到一起。在图数据库以及其他种类的数据库中,往往使用查询语言对数据库中的信息进行操作。
查询语言通常至少包括两个子集:数据定义语言和数据操作语言。其中,数据定义语言用于对数据库中的项目进行创建、修改和删除;数据操作语言用于查询和更新数据表中的数据。对每个子集的功能加以整合,就得到了查询语言的整体功能。根据查询语言的功能可知,数据查询语言可以用于在存储了知识图谱的图数据库中检索需要的信息,即完成对知识的检索。
图数据库强调数据之间的关联关系,它将数据间的联系视为和数据本身同等重要。基于图的数据建模方式具有天然的可扩展性,使得图数据库不需要一个预先定义好的数据模型,便可以便捷地实现数据存储。
数据互联、知识互联、万物互联已经成为当今世界的三大趋势,图数据库的出现便是顺应这种潮流。传统的关系型数据库在处理关系操作时,需要通过表连接(JOIN)实现,在实时查询的环境下,代价较高。图数据库则直接将关系和数据在物理层面上一并存储下来,使得访问数据结点和关系的操作能够以线性时间复杂度完成,甚至能够在一秒内遍历百万级的关系边。
下图是截至 2021年,数据库趋势网站 DB-ENGINES统计的各类别数据库热度趋势时间轴。可以发现:自2014年开始,大家对图数据库的关注度已远超同期其他类型的数据库。
图:不同类型数据库趋势图
图数据库领域内部阵营的情况又是如何呢?统计数据同样来自 DB-ENGINES,如下图所示,Neo4j 长期稳居图数据库热度榜首。
图:图数据库趋势图
以Neo4j为例,它是一款热门的原生图数据库,由 Java 和 Scala 编写,于 2007 年发布。Neo4j 在存储级别实现了属性图模型,使用指针方式构建和遍历图数据,同时支持 ACID 事务。Neo4j 分为社区版本和商业版本,收费的商业版本包含备份、分布式、容灾等企业级服务支持。Neo4j 的一大优势是其自带的前端页面原生支持数据展示,同时也可以基于 Cypher 语句对数据进行插入和修改操作。
属性图模型(Property Graph Model)是 Neo4j 图数据库的基本数据模型,它基于结点、关系和属性存储数据。
结合下图,可以对属性图中的元素有一个更加直观的了解。一个属性图犹如一个画板,上面可以包含两种类型的元素对象,即结点和关系。直观来看,一个属性图是由若干个结点和若干关系组成的,而关系则将结点组织关联起来。再往下深入,一个结点上可以存储标签和属性,一个边关系上可以存储关系类型和属性。
图:图模型的元素关系
在了解 Neo4j 的属性图模型后,我们举一个简单的例子:构建一个企业知识图谱。下图是一个简化版的企业间关系图,包含了所有的属性图要素,作为示例非常合适。
该示例中共有5个结点,4个关系。结点类型共有两种:企业和人物。关系类型也有两种:股东和供应商。同时,结点和关系上都可能存在若干属性。
图:企业图谱示例
除了Neo4j,常见的图数据库还包括Microsoft Azure Cosmos DB、OrientDB、ArangoDB、Virtuoso、JanusGraph等。下图是对这些图数据库的简单对比。
图:图数据库对比
下图给出了截止2021年8月,DB-ENGINES中图数据库前二十位的排行榜。从图中可以看出:前十位的图数据库都不是由中国的科研机构和公司开发。这也是为什么郑纬民院士提出:国内的科研学者和企业研发人员,需要在图数据库领域走自出创新道路。
RECOMMEND
推荐阅读
《从零构建知识图谱》
推荐理由:资深知识图谱专家撰写,OpenKG创始人王昊奋、美团知识图谱负责人张富峥力荐,技术、工具、方法和案例4个维度,配源码。
扫码关注【华章计算机】视频号
每天来听华章哥讲书
更多精彩回顾
书讯 | 10月书讯(下) | 小长假我读这些新书
书讯 | 10月书讯(上) | 小长假我读这些新书
资讯 | 数字化转型的1个目标,3大领域,6大因素和9个环节
书单 | 送你一份入门前端学习路线图
干货 | 4个维度理解火爆的SaaS
收藏 | 终于有人把Scrapy爬虫框架讲明白了
上新 | 【新书速递】从技术小白到开发大牛,这本实验教程带你手把手全栈开发!
点击阅读全文购买