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

使用自维护的结构信息以进行更快的数据访问制造技术

技术编号:36740979 阅读:19 留言:0更新日期:2023-03-04 10:18
一种用于访问数据的方法、系统和计算机程序产品。生成表示存储在存储位置的多个对象中的对象的结构的模式。每个对象包括一个或多个数据元素。每个模式标识对象的一个或多个数据元素、对象的每个数据元素的偏移位置以及对象的每个数据元素的值。接收请求访问一个或多个数据元素的查询。识别多个生成模式中表示被查询对象的生成模式。使用所识别的生成模式来访问和检索元素。问和检索元素。问和检索元素。

【技术实现步骤摘要】
使用自维护的结构信息以进行更快的数据访问


[0001]本公开总体涉及数据处理,并且具体地,涉及使用结构(例如,自维护)和/或模式信息(schema information)来进行更快的数据访问。

技术介绍

[0002]数据库管理系统已经成为许多计算机系统的组成部分。例如,一些系统每秒处理数百甚至数千个事务。其他方面,一些系统对数据执行非常复杂的多维分析。在这两种情况下,底层数据库可能需要非常快速地处理对查询的响应,以满足系统对事务时间的要求。由这种系统存储的数据可以使用各种模式来存储。考虑到查询的复杂性、存储的数据量和/或它们的数量,底层数据库面临着优化性能的挑战。

技术实现思路

[0003]在一些实现中,当前主题涉及一种用于访问数据的计算机实现的方法。该方法可以包括生成表示存储在存储位置的多个对象中的对象的结构的模式。多个对象中的每个对象可以包括一个或多个数据元素。每个模式标识对象的一个或多个数据元素、对象的每个数据元素的偏移位置以及对象的每个数据元素的值。该方法还可以包括接收请求访问多个对象中的对象的一个或多个数据元素的查询,识别多个生成模式中表示被查询对象的生成模式,使用所识别的生成模式访问一个或多个数据元素,以及检索一个或多个数据元素。
[0004]在一些实现中,当前主题能够包括一个或多个以下可选特征。在一些实现中,生成模式可以是固定模式,该固定模式防止模式的修改。
[0005]在一些实现中,生成的模式可以是混合模式。该混合模式可以允许模式的修改。该方法还可以包括添加对象的一个或多个其他数据元素的标识、对象的每个其他数据元素的偏移位置以及对象的每个其他数据元素的值。访问数据元素可以包括访问对象的其他数据元素。检索可以包括检索对象的其他数据元素。
[0006]在一些实现中,生成模式可以标识一个或多个跳过列表,该跳过列表可以准许在访问和检索期间跳过一个或多个数据元素的至少一部分,从而在检索特定标识符的值时减少数据访问时间(例如,产生对数访问时间)。该模式可以使用对象中的跳过列表偏移位置来标识每个跳过列表。
[0007]在一些实现中,生成模式可以标识每个数据元素的偏移位置。
[0008]在一些实现中,查询的接收可以包括为该查询生成查询执行计划。在接收的查询的查询编译时间,可以确定一个或多个数据元素中的第一数据元素的偏移位置。所确定的第一数据元素的偏移位置可以被存储在所生成的查询执行计划中。查询执行计划也可以被存储。在一些实施方式中,该方法还可以包括接收访问第一数据元素的其他查询,以及使用所存储的查询执行计划来访问第一数据元素。
[0009]在一些实现中,多个对象中的对象可以不包括对象模式(例如,无模式对象,其中结构对象的一个或多个部分可以在第一次插入数据时被填充)。
[0010]还描述了存储指令的非暂时性计算机程序产品(即,物理体现的计算机程序产品),当由一个或多个计算系统的一个或多个数据处理器执行时,该指令使得至少一个数据处理器执行本文的操作。类似地,还描述了计算机系统,该计算机系统可以包括一个或多个数据处理器和耦合到一个或多个数据处理器的存储器。存储器可以临时或永久地存储使至少一个处理器执行本文描述的一个或多个操作的指令。此外,方法能够由单个计算系统内或分布在两个或多个计算系统中的一个或多个数据处理器来实现。这样的计算系统能够经由包括但不限于通过网络(例如,因特网、无线广域网、局域网、广域网、有线网络等)的一个或多个连接、经由多个计算系统中的一个或多个之间的直接连接等来连接并且能够交换数据和/或命令或其他指令等。
[0011]本文描述的主题的一个或多个变型的细节在附图和以下描述中阐述。根据说明书和附图以及权利要求书,本文所述主题的其他特征和优点将变得显而易见。
附图说明
[0012]并入本说明书并构成其一部分的附图示出了本文公开的主题的某些方面,并且与描述一起帮助解释与所公开的实现相关联的一些原理。在附图中,
[0013]图1图示根据当前主题的一些实现的使用结构和/或模式信息来进行更快的数据访问的示例性系统;
[0014]图2图示对象的示例性JSON二进制表示模式;
[0015]图3图示压缩的JSON文档的示例性二进制表示;
[0016]图4图示根据当前主题的一些实现的示例性固定结构和/或模式;
[0017]图5图示根据当前主题的一些实现的示例性混合文档存储结构和/或模式;
[0018]图6图示根据当前主题的一些实现的其他示例性混合文档存储结构和/或模式;
[0019]图7图示根据当前主题的一些实现的实现跳过列表的其他示例性混合文档存储结构和/或模式;
[0020]图8图示根据当前主题的一些实施方式的实现并入二进制表示中的舔狗哦列表的其他示例性混合文档存储结构和/或模式;
[0021]图9是图示根据当前主题的一些实现的包括数据存储应用的示例性系统的图;
[0022]图10是图示图9的系统的细节的图;
[0023]图11是根据当前主题的一些实现的示例性系统;以及
[0024]图12是根据当前主题的一些实施方式的示例性方法。
具体实施方式
[0025]为了解决当前可用的解决方案的这些和潜在的其他缺陷,当前主题的一个或多个实现涉及方法、系统、制品等,除了其他可能的优点之外,这些方法、系统、制品等能够提供使用结构(例如,自维护)和/或模式信息在文档存储中进行更快的数据访问的能力。
[0026]数据库管理系统和对由数据库管理系统管理的数据执行的操作已经变得越来越复杂。例如,数据库管理系统(或简称为数据库)可以支持相对复杂的在线分析处理(OLAP,其可以执行多维分析)到更简单的基于事务的在线事务处理(OLTP)。此外,数据库可以被配置为行存储数据库或列存储数据库,其中的每一个都可以具有关于数据库中的查询和其他
操作的某些方面。例如,数据库可能会使用字典对数据进行编码,而有些数据库可能不会。除了这些不同的数据库层差异之外,在数据库中执行的查询可以包括复杂的操作序列,以便生成对应的响应。为了实现复杂的序列,查询执行计划(或简称为查询计划)可以被实现。查询计划可以表示访问数据库中的数据的操作序列,诸如指令、命令等。数据库还可以包括查询计划优化器,以确定执行查询计划的有效方式。
[0027]从应用或客户端的角度来看,访问数据库可能极其麻烦。例如,应用可能需要使用复杂的查询来查询不同类型的数据库。因此,可能需要配置应用层来处理各种类型的数据库和各种查询类型。附加地或可替换地,每个数据库可能需要将来自应用的查询处理成给定数据库能够处理的格式和结构。将复杂的操作和对各种不同数据库类型的支持推送到应用层可能会与拥有相对较轻的重量和/或易于部署的应用的需求相抵触。另一方面,将复杂的操作推送到数据被存储的数据库层可能会占用数据库的处理和/或内存资源,因此可能会降低该数据库层上的查询的性能和响应时间。
[0028]文件存储和/或处理系统可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机实现的方法,包括:生成表示被存储在存储位置的多个对象中的对象的结构的模式,多个对象中的每个对象包括一个或多个数据元素,每个模式标识对象的一个或多个数据元素、对象的每个数据元素的偏移位置和对象的每个数据元素的值;接收请求访问多个对象中的该对象的一个或多个数据元素的查询;识别多个生成模式中表示被查询对象的生成模式;使用所识别的生成模式来访问一个或多个数据元素;以及检索一个或多个数据元素。2.根据权利要求1所述的方法,其中,生成模式是固定模式,所述固定模式防止模式的修改。3.根据权利要求1所述的方法,其中,生成模式是混合模式,所述混合模式允许模式的修改。4.根据权利要求3所述的方法,还包括:添加所述对象的一个或多个其他数据元素的标识、所述对象的每个其他数据元素的偏移位置以及所述对象的每个其他数据元素的值。5.根据权利要求4所述的方法,其中,访问包括访问所述对象的一个或多个其他数据元素,并且检索包括检索所述对象的一个或多个其他数据元素。6.根据权利要求1所述的方法,其中,生成模式标识一个或多个跳过列表,所述跳过列表准许在访问和检索期间跳过一个或多个数据元素中的一个或多个数据元素的至少一部分,从而减少访问和检索中的至少一个的时间。7.根据权利要求6所述的方法,其中,所述模式使用对象中的跳过列表偏移位置来标识一个或多个跳过列表中的每个跳过列表。8.根据权利要求1所述的方法,其中,生成模式标识一个或多个数据元素中的每个数据元素的一个或多个偏移位置级别。9.根据权利要求1所述的方法,其中,接收还包括:为接收的查询生成查询执行计划;在接收的查询的查询编译时间,确定一个或多个数据元素中的第一数据元素的偏移位置;在接收的查询的所生成的查询执行计划中存储所确定的第一数据元素的偏移位置;以及存储所生成的查询执行计划;所述方法进一步包括:接收访问第一数据元素的其他查询;和使用存储的查询执行计划来访问第一数据元素。10.根据权利要求1所述的方法,其中,多个对象中的对象不包括对象模式。11.一种系统,包括:至少一个可编程处理器;以及非暂时性机器可读介质,存储指令,当指令被至少一个可编程处理器执行时,使得至少一个可编程处理器执行操作,所述操作包括:生成表示被存储在存储位置的多个对象中的对象的结构的模式,多个对象中的每个对
象包括一个或多个数据元素,每个模式标识对象的一个或多个数据元素、对象的每个数据元素的偏移位置和...

【专利技术属性】
技术研发人员:C本斯伯格
申请(专利权)人:SAP欧洲公司
类型:发明
国别省市:

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

1