数据库管理系统和方法与流程

文档序号:34111985发布日期:2023-05-10 22:32阅读:39来源:国知局
数据库管理系统和方法与流程

本发明涉及数据库系统。更具体地,本发明涉及一种数据库管理系统和方法。


背景技术:

1、由关系数据库管理系统(relational database management system,rdbms)管理的关系数据库是存储结构化数据的最常用方式。在关系数据库中,数据以包含行和列的表的形式组织。

2、图是包括称为顶点(或节点或点)和边缘(或链接或关系)的实体的结构(图),其中边缘(或链接或关系)是相关的顶点对。在属性图模型中,数据被组织为节点、关系和属性,其中属性是存储在节点或关系上的数据值。通过将关系数据转换为属性图,可以探索(遍历)实体(行)之间的关系并分析底层网络拓扑。

3、查询现有关系数据上的图通常使用以下三种方法之一来完成。

4、根据图1所示的第一种方法,响应于图查询103,图查询引擎107直接从数据库105中提取关系数据。图查询引擎107使用概念模式映射101将所提取的关系数据的行即时转换为图的顶点和边缘。概念模式映射101定义了关系模式(即,关系数据库中以包含行和列的表的形式组织的数据的结构)与图模式(即,图中以顶点、边缘和属性的形式组织的数据的结构)之间的关系。最后,图查询引擎107提供图查询103的查询结果109。

5、根据图2所示的第二种方法,提取、转换和加载(extract-transform-load,etl)过程202从数据库205中读取关系数据,并通过使用概念模式映射201来生成推断的顶点和边缘并将其存储到图数据库或图存储器204中。响应于图查询203,图查询引擎207然后直接从存储在图存储器204中的所生成的图中读取顶点和边缘,并提供图查询203的查询结果209。

6、根据图3所示的第三种方法,同步引擎306维护图数据库或图存储器304,图数据库或图存储器304始终通过使用概念模式映射301来根据数据库305中关系数据的最新变化进行更新。响应于图查询303,如上述第二种方法,图查询引擎307直接从图数据库304提供的图中读取顶点和边缘,并提供图查询303的查询结果309。

7、应当理解的是,第三种方法比第二种方法更复杂,因此更难实现;而第二种方法比第一种方法更复杂,因此更难实现。此外,虽然第一种方法能够即时读取、转换和查询数据,但另外两种方法需要将所生成的图数据物化到额外的图储存库(204、304)中,这实际上意味着有重复的数据存储容量。

8、此外,当前方法仅采用简单的模式映射,其中顶点和边缘以一对一的关系直接映射到关系表的行。因此,上述方法具有以下一个或多个缺点:(i)必须将关系数据复制到图存储器中;(ii)关系数据与图数据之间的提取和同步(为了确保一致性)需要时间,并且不允许实时处理最新更新;和/或(iii)当前方法中使用的模式映射非常简单且通常实际上用处不大。此外,使用当前方法设计数据库时,需要使用和实现简单的关系模型,这些关系模型可以很容易地映射到图模型;或者需要准备复杂的etl过程,这些etl过程需要定期执行以将关系数据转换为图实体。


技术实现思路

1、本发明的目的在于提供一种改进的数据库管理系统和方法。

2、上述和其他目的通过独立权利要求请求保护的主题来实现。其他实现方式在从属权利要求、说明书和附图中显而易见。

3、根据第一方面,提供了一种用于管理数据库的数据库管理系统。所述数据库管理系统包括处理器,所述处理器用于:接收所述数据库的数据的图顶点和图边缘中的至少一个的定义;根据所述数据库的所述数据的所述图顶点和所述图边缘中的所述至少一个的所述定义,生成模式映射规则,其中所述模式映射规则定义了所述数据库的所述数据与所述数据库的所述数据的图表示之间的对应关系,所述图表示包括所述数据库的所述数据的所述图顶点和所述图边缘中的所述至少一个;以及根据所述模式映射规则,生成数据库查询,所述数据库查询用于提取所述数据库的所述数据的一个或多个其他图顶点和/或图边缘。

4、如本文中使用的以及下面将更详细描述的,所述数据库的所述数据的图顶点和/或图边缘的定义可以包括一个或多个指令,所述一个或多个指令允许所述数据库管理系统根据所述数据库的所述数据生成一个或多个图顶点和/或图边缘。

5、在所述第一方面的另一种可能的实现方式中,所述处理器还用于:将所述模式映射规则生成为一个或多个谓词的合取和/或析取组合。

6、在所述第一方面的另一种可能的实现方式中,所述处理器还用于:将所述数据库查询存储在所述数据库的数据库目录中。

7、在所述第一方面的另一种可能的实现方式中,所述数据库管理系统的所述处理器还用于:根据存储在所述数据库目录中的所述数据库查询,提取所述数据库的所述数据的所述一个或多个其他图顶点和/或图边缘。有利地,这允许提取隐藏在所述数据库的所述数据的关系表示中的非显式信息。

8、在所述第一方面的另一种可能的实现方式中,所述处理器还用于:提供编程接口,所述编程接口用于接收一个或多个编程指令,所述一个或多个编程指令用于执行以下操作中的至少一项:从所述数据库中提取所述数据;和/或定义所述数据库的所述数据的所述图顶点和所述图边缘中的所述至少一个。

9、在所述第一方面的另一种可能的实现方式中,所述编程接口的所述一个或多个编程指令包括第一编程指令(在本文中称为“match”指令),所述第一编程指令用于:从所述数据库中或从所述数据库的所述数据的所述图表示中提取所述数据。

10、在所述第一方面的另一种可能的实现方式中,用于从所述数据库中提取数据的所述第一编程指令(即,所述“match”指令)用于:通过递归引用所述模式映射规则,来定义所述数据库的所述数据的所述图顶点和所述图边缘中的所述至少一个。换句话说,一个“match”指令的输出可以是另一个“match”指令的输入。

11、在所述第一方面的另一种可能的实现方式中,所述编程接口的所述一个或多个编程指令包括第二编程指令(在本文中称为“compare”指令),所述第二编程指令用于:根据一个或多个比较谓词,过滤所述数据库的所述数据。

12、在所述第一方面的另一种可能的实现方式中,所述编程接口的所述一个或多个编程指令包括第三编程指令(在本文中称为“aggregate”指令),所述第三编程指令用于:确定所述数据库的所述数据上的一个或多个聚合函数。

13、在所述第一方面的另一种可能的实现方式中,所述编程接口的所述一个或多个编程指令包括第四编程指令(在本文中称为“except”指令),所述第四编程指令用于:丢弃或过滤与一个或多个标准匹配的所述数据库的所述数据。

14、在所述第一方面的另一种可能的实现方式中,所述编程接口的所述一个或多个编程指令包括第五编程指令(在本文中称为“eval”指令),所述第五编程指令用于:对一个或多个预定义函数或谓词求值。

15、在所述第一方面的另一种可能的实现方式中,所述数据库管理系统还包括所述数据库。

16、根据第二方面,提供了一种用于管理数据库的方法。所述方法包括以下步骤:接收所述数据库的数据的图顶点和图边缘中的至少一个的定义;根据所述数据库的所述数据的所述图顶点和所述图边缘中的所述至少一个的所述定义,生成模式映射规则,其中所述模式映射规则定义了所述数据库的所述数据与所述数据库的所述数据的图表示之间的对应关系,所述图表示包括所述数据库的所述数据的所述图顶点和所述图边缘中的所述至少一个;以及根据所述模式映射规则,生成数据库查询,所述数据库查询用于提取所述数据库的所述数据的一个或多个其他图顶点和/或图边缘。

17、在所述第二方面的另一种可能的实现方式中,生成所述模式映射规则的所述步骤包括:将所述模式映射规则生成为一个或多个谓词的合取和/或析取组合。

18、在所述第二方面的另一种可能的实现方式中,所述方法还包括以下步骤:将所述数据库查询存储在所述数据库的数据库目录中。

19、在所述第二方面的另一种可能的实现方式中,所述方法还包括以下步骤:根据存储在所述数据库目录中的所述数据库查询,提取所述数据库的所述数据的所述一个或多个其他图顶点和/或图边缘。

20、在所述第二方面的另一种可能的实现方式中,所述方法还包括以下步骤:提供编程接口,所述编程接口用于接收一个或多个编程指令,所述一个或多个编程指令用于定义所述数据库的所述数据的所述图顶点和所述图边缘中的所述至少一个。

21、根据本发明的所述第二方面所述的数据库管理方法可以由根据本发明的所述第一方面所述的数据库管理系统执行。因此,根据本发明的所述第二方面所述的数据库管理方法的其他特征直接通过根据本发明的所述第一方面所述的数据库管理系统的功能及其上述和下述不同实现方式实现。

22、根据第三方面,提供了一种计算机程序产品,所述计算机程序产品存储程序代码,所述程序代码在由计算机或处理器执行时,使得所述计算机或所述处理器执行根据所述第二方面所述的方法。

23、如将在下面更详细地描述的,本发明的各个实施例提供了一种用于概念模式映射的基于规则的领域专用语言(domain specific language,dsl),所述概念模式映射描述(即,定义)如何执行以下操作:(i)使用纯结构化查询语言(structured query language,sql)将关系数据转换为图数据(r2g),包括直接映射(例如,行到顶点、行到边缘)、泛化/专业化、分层和非规范化关系模式;(ii)根据现有数据推断新的关系,包括嵌套关系和递归关系。此外,本发明的各个实施例提供了一种基于规则的映射引擎,用于根据逻辑编程和仅五种谓词类型(操作)的图,并将图查询转换为关于持久关系数据的关系sql查询,而无需冗余的图存储器。所述dsl可以是允许使用datalog等谓词来定义映射的任何声明式编程语言,也可以是如上所述的sql数据定义语言(data definition language,ddl)的扩展。

24、本发明的各个实施例还提供以下优点:(i)不需要将关系数据复制为图数据;(ii)根据最新数据即时推断关系,不会因etl或同步过程而引起延迟;(iii)(类sql)dsl可简化所述概念模式映射的维护;(iv)可以表示关系数据与图数据之间比直接表到顶点/边缘的映射更复杂的映射;(iv)可以根据数据推导出新的关系,包括嵌套关系和递归关系;(v)不需要对rdbms的当前基础结构进行实质性改变,因为可以使用标准sql逻辑;(vi)提供可以集成到其他框架中的模块化框架,其中数据源是关系数据,目的地是可以用于规则的交互式图查询的图数据,所述规则指定如何将关系模式转换为图模式,并生成对应的关系查询(select、view、cte或udf),其中这些查询可以存储在所述数据库目录中以供所述图查询引擎后续使用。

25、一个或多个实施例的细节在附图和说明书中阐述。其他特征、目标和优点将从说明书、附图和权利要求中显而易见。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1