[发明专利]数据库中的图处理有效
申请号: | 201480084094.3 | 申请日: | 2014-12-19 |
公开(公告)号: | CN107111617B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 陈亮 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/28;G06F16/242;G06F16/2455 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;黄捷 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 中的 处理 | ||
本文所描述的主题涉及用于实现图处理的数据库中间件。提出了图数据和底层关系数据库或SQL数据库之间的中间件。图中的节点的局部属性和拓扑信息可以存储在数据库中的单个节点表中,从而不再需要物理联接表。中间件可以有效地将图查询转换成对相关表的SQL查询。中间件可以使用不考虑数据库查询引擎的拓扑知识来优化转换后的查询。
背景技术
图(graph)数据正变得无所不在。如已知的,图可以具有两个或更多个节点(或实体),每个节点具有一个或多个局部属性。此外,图中的节点可以与图中的一个或多个其他节点具有关联或关系。两个节点之间的关联可以被称为“边”。边可以是有向的或无向的。对于由边连接的两个节点,一个节点称为另一节点的“相邻节点”或“邻居节点”。
在各种应用中,有必要在数据库中存储和查询这些图数据。诸如关系数据库等很多传统的数据库已经在汇总数据方面取得成功。然而,这些传统的数据库在处理图方面存在困难,因为图数据的性质与列表数据的性质完全不同。例如,图遍历是图处理中的常见和基本操作。给定源节点,图遍历返回与源节点相邻的一个或多个节点的数据。在关系数据库中,数据通常被规范化以避免冗余和更新异常。然而,图中的节点是高度连接的,并且通常呈现多对多关系。在数据规范化的情况下,必须使用联接表来表示两个节点之间的多对多关系,其中两个列分别引用两个节点。
这样的组织意味着节点的局部属性与图拓扑分离。也就是说,边信息必须与节点信息分开存储。因此,对于从节点到其邻居的每次遍历,数据库的查询引擎必须执行附加联接以查找联接表从而获得与节点相关联的拓扑信息,这将对高速缓存局部性(locality)产生负面影响并且降低系统性能。
发明内容
可以在一个物理记录中将节点的邻接列表和属性共同定位,以获得用于图遍历的高速缓存局部性。然而,这由于与节点相关联的所有属性都将被复制而不能通过解规范化来在传统的表中实现,这不仅会导致严重的空间消耗,而且将每个邻居引用放在单独的记录中。如果节点具有多个邻接列表,每个邻接列表描述一个邻居类别,则情况会更糟。
在本文中描述的主题的实现中,提供底层数据库和图之间的中间件层,以使数据库(诸如关系数据库)能够实现有效和高效的图处理。在一个实现中,节点的邻接列表可以被表示并且存储在关系表中用于该节点的记录的特殊字段中。取决于底层数据库,内建的或用户定义的数据类型可以用于表示邻接列表。以这种方式,图数据可以作为包含节点的局部属性和图拓扑二者的特殊表格形式被存储,而不需要附加物理联接表。
在查询阶段,中间件可以将图查询转换成诸如对相关的物理表的结构化查询语言(“SQL”)查询等表查询。对这些表的查询语义可以与SQL完全兼容,从而提供互操作性。具体地,作为基本运算符,可以通过动态地检索和解释源节点的邻接列表并且创建表示拓扑信息的临时联接表来完成图遍历。通过利用高速缓存局部性的优点,可以有效地实现临时联接表与汇聚表之间的连接。以这种方式,可以有效地执行图查询。此外,在一个实现中,可以通过考虑忽略关系数据库的查询引擎或优化器的拓扑知识来进一步优化转换后的表查询。
本发明内容被提供以便以简化的形式介绍一些概念的选择,这些概念在下面的详细描述中进一步描述。本发明内容不旨在标识所要求保护的主题的主要特征或基本特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
图1示出了其中可以实现本文中描述的主题的一个或多个实现的计算环境的框图;
图2示出了在本文中描述的主题的一个实现中的用于数据库图处理的系统的框图;
图3示出了在本文中描述的主题的一个实现中的用于将图数据存储到数据库中的方法的流程图;
图4示出了在本文中描述的主题的一个实现中的用于图查询的方法的流程图;
图5示出了在本文中描述的主题的一个实现中由用户定义的函数创建的临时联接表的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480084094.3/2.html,转载请声明来源钻瓜专利网。