当前位置: 首页 > 专利查询>SAP欧洲公司专利>正文

具有可更新逻辑表指针的虚拟数据库表制造技术

技术编号:27772091 阅读:28 留言:0更新日期:2021-03-23 12:52
描述了用于实现虚拟表模式的技术和解决方案。虚拟表模式包括逻辑指针,所述逻辑指针用于确定包括数据并根据虚拟表模式定义的表。分配给逻辑指针的值可用于对准不同位置处的表,诸如在联合数据库系统中或在中央计算系统的数据库管理系统的高速缓存中的表。当请求与虚拟表相关联的数据时,或者在接收请求之前,可以将数据存储在高速缓存中的表中。可以更新逻辑指针以引用高速缓存。如果高速缓存已满,则可以从高速缓存中移除表,并且可以更新逻辑指针以引用联合数据库系统处的表。

【技术实现步骤摘要】
具有可更新逻辑表指针的虚拟数据库表
本公开一般涉及管理数据储存器(诸如由数据库管理系统管理的数据储存器)中的数据。特定实施方式涉及具有可用于引用不同位置的表的逻辑指针的表模式(schema)。
技术介绍
企业越来越普遍地将数据存储在多种系统中,包括存储在一个或多个本地系统以及一个或多个云系统中。所述系统可以具有不同的类型——诸如以不同的格式存储数据(例如,关系数据库与存储JAVA文档的数据库)或使用不同的数据库管理系统(例如,使用由不同供应商提供的软件和/或硬件)存储数据。即使在以相同格式和使用相同供应商的软件存储数据的情况下,在特定位置存储什么数据以及用于存储该数据的模式也可能存在差异。为了帮助解决这些问题,已经创建了联合数据库。与分布式数据库(它是涉及多个计算机节点(例如,一个主节点和一个或多个从属节点)的单个数据库管理系统)相反,联合数据库包括从可通过通用平台或界面获得的多个不同的数据库管理系统(或其他数据源)制造数据的功能。然而,联合数据库系统中的数据通常需要从多个不同的数据源中检索。即使在单个查询中,也可能需要来自不同数据源的数据。尽管联合数据库可以使此类数据可用,但是将请求发送到远程系统、由远程系统检索数据、将数据发送到联合主机、处理查询以及返回查询结果的过程可能是耗时的并且资源密集的(例如使用网络带宽)。因此,存在改进的空间。
技术实现思路
提供本
技术实现思路
以简化形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本
技术实现思路
既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。描述了用于实现虚拟表模式的技术和解决方案。虚拟表模式包括逻辑指针,所述逻辑指针用于对准(target)包括数据并根据虚拟表模式定义的表。分配给逻辑指针的值可用于对准诸如在联合数据库系统中或在中央计算系统的数据库管理系统的高速缓存(cache)中的不同位置的表。当请求与虚拟表相关联的数据时,或者在接收到请求之前,可以将数据存储在高速缓存中的表中。可以更新逻辑指针以引用高速缓存。如果高速缓存已满,则可以从高速缓存中删除该表,并且可以更新逻辑指针以引用联合数据库系统处的表。在一个方面,提供了一种用于更新用于虚拟表模式的逻辑指针的方法。在数据字典中为第一虚拟表创建第一模式。第一模式包括第一逻辑指针,第一逻辑指针指定具有第一数据并根据第一模式定义的第一表的第一位置。第一位置在第一联合数据库系统中。第一数据的至少一部分被接收。在托管数据库管理系统的中央计算系统的高速缓存中创建第二表。根据第一模式定义第二表。第一数据的所接收的至少一部分被存储在第二表中。第二值被分配给第一逻辑指针。第二值标识第二表在高速缓存中的位置在另一方面,提供了另一种用于更新用于虚拟表模式的逻辑指针的方法。在数据字典中创建第一表定义。第一表定义包括标识第一位置处的第一表的第一数据元素。根据第一表定义来定义第一表。第一位置不在托管包括数据字典的数据库管理系统的中央计算系统的高速缓存中。接收存储在第一表中的数据的至少一部分。在高速缓存中创建第二表。根据第一表定义来定义第二表。数据的所接收的至少一部分被存储在第二表中。第二值被分配给第一数据元素。第二值标识第二表在高速缓存中的位置。在另一方面,提供了一种用于更新用于虚拟表模式的逻辑指针的附加方法。在数据字典中创建用于第一虚拟表的第一模式。第一模式包括第一逻辑指针,第一逻辑指针指定具有第一数据并根据第一模式定义的第一表的第一位置。第一位置不在托管包括数据字典的数据库管理系统的中央计算系统的高速缓存中。第一数据的至少一部分被接收。在高速缓存中创建第二表。根据第一模式定义第二表。第一数据的所接收的至少一部分被存储在第二表中。第二值被分配给第一逻辑指针。第二值标识第二表在高速缓存中的位置。本公开还包括被配置为执行或包括用于执行上述方法的指令的计算系统和有形的非暂时性计算机可读存储介质。如本文所述,各种其他特征和优点可以根据需要并入技术中。附图说明图1是示出具有虚拟表模式的计算架构的图,所述虚拟表模式具有可以对准远程表或副本表的逻辑指针。图2是示出具有虚拟表模式的计算架构的图,所述虚拟表模式具有可以对准远程表或高速缓存的表的逻辑指针。图3是示出具有虚拟表模式的计算架构的图,所述虚拟表模式具有可以对准远程表、副本表或高速缓存的表的逻辑指针。图4是示出具有虚拟表模式的计算架构的图,所述虚拟表模式具有可以对准远程表、副本表或高速缓存的表的逻辑指针,并且在该计算架构中副本表可以存储在数据湖(datalake)中。图5是示出具有虚拟表模式的计算架构的图,所述虚拟表模式具有可以对准远程表、副本表或高速缓存的表的逻辑指针,并且在该计算架构中副本表可以存储在动态储存器中。图6是示出具有虚拟表模式的计算架构的图,所述虚拟表模式具有可以对准远程表、副本表或高速缓存的表的逻辑指针,并且在该计算架构中副本表可以存储在动态储存器中,并可以具有在动态储存器中可独立管理的子集。图7是示出其中多个虚拟表模式可以对准远程表或者可以共享副本表的情形的图。图8是示出当用于虚拟表模式的逻辑指针被更新以对准不同的表时用于重新编译查询计划的情形的图。图9A和图9B提供示例列定义,所述示例列定义可以与可用于管理虚拟表模式或与虚拟表模式一起使用的副本表的数据库工件一起使用。图10提供用于执行与虚拟表模式相关的动作的示例查询语言语句。图11是示出用于更新虚拟表模式的逻辑指针以对准副本表的方法中的操作的流程图。图12是示出用于将虚拟表模式的逻辑指针从对准副本表更新的方法中的操作的流程图。图13是示出在用于确定何时在对准远程表和对准副本表之间更新虚拟表模式的逻辑指针的方法中的操作的流程图。图14是示出用于确定是否应将远程表数据存储在高速缓存中的方法中的操作的流程图。图15是示出用于管理动态储存器中的副本表数据的方法中的操作的流程图。图16是示出用于管理副本表数据是存储在主储存器还是动态储存器中的方法中的操作的流程图。图17-图19是示出所公开的用于更新虚拟表模式的逻辑指针的实施例中的操作的流程图。图20是其中可以实现一些所描述的实施例的示例计算系统的图。图21是可以与本文描述的技术结合使用的示例云计算环境。具体实施方式示例1–概述企业越来越普遍地将数据存储在多种系统中,包括存储在一个或多个本地系统以及一个或多个云系统中。所述系统可以具有不同的类型——诸如以不同的格式存储数据(例如,关系数据库与存储JAVA文档的数据库)或使用不同的数据库管理系统(例如,使用由不同供应商提供的软件和/或硬件)存储数据。即使在以相同格式和使用相同供应商的软件存储数据的情况下,在特定位置存储什么数据以及用于存储该数据的模式也可能存在差异。为了帮助解决这些问题,已经创建了联合数据库。与分布式数据库(它是涉及多个计本文档来自技高网...

【技术保护点】
1.一种计算系统,包括:/n一个或多个存储器;/n一个或多个处理单元,其耦接至所述一个或多个存储器;和/n一个或多个计算机可读存储介质,其存储指定以下操作的计算机可执行指令:/n在数据字典中为第一虚拟表创建第一模式,第一模式包括指定第一表的第一位置的第一逻辑指针,第一表包括第一数据并根据第一模式定义,第一位置在第一联合数据库系统中;/n接收第一数据的至少一部分;/n在托管数据库管理系统的中央计算系统的高速缓存中创建第二表,第二表根据第一模式定义;/n将接收到的第一数据的至少一部分存储在第二表中;和/n将第二值分配给第一逻辑指针,第二值标识第二表在高速缓存中的位置。/n

【技术特征摘要】
20190920 US 62/903,459;20191213 US 16/713,8501.一种计算系统,包括:
一个或多个存储器;
一个或多个处理单元,其耦接至所述一个或多个存储器;和
一个或多个计算机可读存储介质,其存储指定以下操作的计算机可执行指令:
在数据字典中为第一虚拟表创建第一模式,第一模式包括指定第一表的第一位置的第一逻辑指针,第一表包括第一数据并根据第一模式定义,第一位置在第一联合数据库系统中;
接收第一数据的至少一部分;
在托管数据库管理系统的中央计算系统的高速缓存中创建第二表,第二表根据第一模式定义;
将接收到的第一数据的至少一部分存储在第二表中;和
将第二值分配给第一逻辑指针,第二值标识第二表在高速缓存中的位置。


2.根据权利要求1所述的计算系统,所述操作还包括:
接收使用根据第一模式定义的高速缓存的表而不是第一表的请求,响应于接收到使用高速缓存的表的请求,执行创建、存储和分配。


3.根据权利要求1所述的计算系统,所述操作还包括:
接收启用对第一虚拟表的高速缓存的数据定义语言语句。


4.根据权利要求1所述的计算系统,其中,在接收到对与第一虚拟表相关联的数据的请求时,执行在所述高速缓存中创建第二表。


5.根据权利要求1所述的计算系统,其中,在接收到对与第一虚拟表相关联的数据的请求之前执行在所述高速缓存中创建第二表。


6.根据权利要求1所述的计算系统,所述操作还包括:
接收对与第二虚拟表相关联的数据的请求;
确定高速缓存已满;
从高速缓存中移除第二表;
将第一逻辑指针更新为第一值;和
在高速缓存中存储根据第二虚拟表的模式定义的第三表。


7.根据权利要求1所述的计算系统,所述操作还包括:
接收禁用对第一虚拟表的高速缓存的数据定义语言语句;和
响应于接收到禁用对第一虚拟表的高速缓存的数据定义语言语句,将第一逻辑指针更新为第一值。


8.根据权利要求1所述的计算系统,其中,存储在第二表中的第一数据的至少一部分包括全部的第一数据。


9.根据权利要求1所述的计算系统,其中,存储在第二表中的第一数据的至少一部分包括少于全部的第一数据。


10.根据权利要求1所述的计算系统,其中,第一虚拟表包括多个分区,并且存储在第二表中的第一数据的至少一部分包括所述多个分区中的至少第一分区。


11.根据权利要求1所述的计算系统,所述操作还包括:
确定存储在第二表中的接收到的第一数据的至少一部分是陈旧的;
从第一表中检索更新的数据;和
将更新的数据存储在第二表中。


12.根据权利要求11所述的计算系统,其中,所述检索是响应于检索与第一虚拟表相关联的数据的请求而执行的。

【专利技术属性】
技术研发人员:R卡尔M安德雷J李S贝尔勒S裵JY李
申请(专利权)人:SAP欧洲公司
类型:发明
国别省市:德国;DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1