北大邹磊:图数据库中的子图匹配算法


导读:本次讲座从图数据库中的核心查询算子——子图匹配入题,介绍了图数据库的基本概念、子图匹配的算法,以及在图数据库环境下的子图匹配查询优化等内容。具体包括下面三个方面:

  • 什么是图数据库
  • 子图匹配查询及其优化方法
  • 我们的工作

--

01 什么是图数据库

首先,先回顾一下什么是数据库。

1. 数据库

数据库研究的核心就是将物理世界映射到信息世界,在数据库学习课程中会学到一个概念模型E-R图。E-R图表示实体与实体之间的关系,也会将实体的属性包含在内。

2. 回顾-关系型数据库(RDBMS)

 我们再回顾一下关系型数据库是怎么实现E-R关系映射的。E-R图是一个概念模型,是在对信息世界、物理世界建模的时候需要一个概念模型(Conceptual Model)。那么,如何将一个概念模型进行一个物理实现呢?如果底层用的是关系数据库,需要将E-R图结构映射到一个二维的关系表中,如“学生选修课程”的E-R图,映射到学生表、课程表和选修表这样的二维关系表中,这是关系数据库设计的基本思路。 

3. 图数据库-Game Changer

如果采用图数据库作为底层的物理实习,就是把E-R图表示的概念模型映射成图数据库中的节点和边,因为E-R图和图数据库均采用“图”的形式进行表达,因此这样的映射更加直接。那么,E-R图与图数据库的模型有什么区别呢

首先,两类模型定位不一样。E-R图是概念模型,更像类(class)图,定义的是类之间的逻辑关系,不是数据的实例(Instance)之间的关联;而图数据库的模型是物理实现的数据模型,图数据库中的每个点和边表示实例(也称为实体)的属性与实例之间的关联。

其次,两类模型作用不同。作为概念模型,E-R图用于帮助用户和数据库开发者对于应用需求和所涉及到的数据的含义进行正确理解的工具;而图数据库中的图模型是数据库系统的物理实现模型。

关系数据库需要完成从E-R图到关系表结构,以及关系表之间主外键的映射,图数据库则需要把E-R图(Conceptual Model)映射成用点和边表示实体与实体之间关系的数据模型。

4. 关系数据库 VS 图数据库

关系数据库与图数据库两者之间有什么区别呢?

首先,我想强调的是两者不是替代关系,至少就目前的技术和研究的发展状态而言;但是两者确实有很多区别,因此造成了在使用场景和内核系统设计中的巨大区别。

这里认为最核心的区别是,关系数据库是Schema-First(模式优先),图数据库是Schema-Less(少模式)。使用关系数据库第一步是先建表结构以及定义表之间主外键关系,这个表结构和表之间主外键关系称为Schema。关系数据库特点是Schema-First,意思是先有表结构才有数据;图数据库有时候称为Schema-Less,甚至有人认为是Non-Schema,是Schema-Less的数据,意思是导入的数据并不是完全与预先设计的Schema完全符合。

例如,假设描述人物信息时,有些人有10个属性,另外一些人只有5个属性,如果在关系数据库中只能取两者属性的合集才能定义表结构;在图数据库当中每个人按需(on-demand)分配属性值就可以,以及边表示的关系也可以是不一样。

关系数据库是Schema-First,也就是首先要有表结构,才能灌入数据;而图数据库跟NoSQL有点儿相似,只要有数据来,哪怕数据并不符合前置定义的Schema,数据仍然可以灌入。

两者的区别带来了在实现和使用上的两个大的区别

在实现方面即DBMS(数据库管理系统)内核实现层面。传统关系数据库RDBMS的很多查询优化策略(即查询引擎的执行策略)、数据划分和分布式的处理,以及事务的并发处理都是定义在表结构上的,因此关系数据库的很多技术是依赖于Schema的;而在图数据库中,因为没有像关系数据库一样的Schema,相关的技术都需要重新考虑。这是从实现角度带来的数据库系统DBMS本身带来的技术挑战。

在使用方面即用户如何使用DBMS系统层面。对于使用者来说,使用关系数据库到使用图数据库最重要的是概念和思维方式的转变,关系数据库是用表结构理解数据,图数据库则是以图的思路来理解数据和数据质量管理。另外,两者查询语句也不一样,和现有工具链也存在衔接的问题。因为两者定位不同,所以不能说图数据库和关系数据库是一个替代关系,但从工具链角度、生态来说图数据库是一个新的变化。

5. 图数据库

 

随着研究与实践应用的进行,我们越来越发现,虽然IT技术发展有内在的推动因素,但是经济和社会发展也是“无形的手”。这里我们不去详细讨论从数据管理系统(DBMS)早期从层次、网状数据库到关系数据库转变的过程。其实这个早期过程的核心解决的是如何将数据库系统的应用程序开发人员与数据库系统的内核开发人员进行有效隔离,以提高生产效率的问题,这是一个软件系统演化的过程:完成了从最原始的文件系统管理数据,到构建起一个独立的数据库系统软件来管理数据。

这里,我们重点观察一下从关系数据库到近些年NoSQL再到Graph Database。这一步一步转变,并不是说完全替代,只是随着经济和社会发展出现了NoSQL、出现了Graph Database。这里我们也不从软件系统演化的技术逻辑去做分析,而是从市场主体的企业的数据观角度去试图理解这点变化。前面已经提到关系数据库是Schema-First,其特点是需要有一个表结构,表结构来自E-R图,E-R图从需求来,需求来自企业本身对这个任务有一个很清晰的业务逻辑,它适合传统经济场景,解决的是传统企业的信息化问题。传统企业只有把问题信息化才有业务逻辑,才有需求,才能明确地画出E-R图。有了E-R图后才可以映射成表和表结构,通常情况下这个表结构不会做太大变化,因为关系数据库表结构或Schema做变化是一个非常耗时的任务。

在互联网经济时代,数据不仅仅是企业内部业务系统产生的,有很多数据的产生也不满足提前预设的Schema,这类数据通常称为Users Generate Content(UGC)。这样的数据存储需求催生了 Key-Value为代表的NoSQL数据库系统,以解决在线经济中互联网情景下用户产生的数据不规则、不满足预设Schema的数据存储问题。

前面提到的NoSQL关注的是用户及相关数据,传统关系数据库关注的是企业的内部业务数据;而图数据库关注的是外部数据。在大数据、数据经济时代讲究的是数据之间融合和关联。因为一个企业在做业务执行、决策判定的时候,需要大量的外部数据。在企业经营时,需要跟其他单位做一些数据的交换,获取一些外部数据,而外部数据获得与企业本身掌握的数据之间要完成数据的关联,而这种数据关联以“图”的形式表示是最为合适的;图的点和边之间的关联,是能够表达数据之间深层次的语义相关性的,

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值