存储行标识符值的字典的强制排序的制作方法

文档序号:9865588阅读:344来源:国知局
存储行标识符值的字典的强制排序的制作方法
【技术领域】
[0001]本公开概括而言涉及利用字典压缩的数据库,具体而言涉及基于行标识符值的字典的强制排序。
【背景技术】
[0002]市售数据库管理系统(database management system,DBMS)支持的数据库大小随着基于盘的存储和系统存储器的可用性和单位成本存储的增大而持续增长。一般地,数据库的特征可以是数据的盘上存储,其中数据记录被存储在存储介质(例如,硬盘、光存储、固态存储等等)上的一个或多个表格或其他数据库结构中并且根据需要被读取到主系统存储器中以响应查询或其他数据库操作。或者,数据库的特征可以是数据的存储器内存储,其中数据记录被存储在主系统存储器中。随着主系统存储器的成本持续减小,对存储器内特征的显著使用的可行性增大了。然而,数据库系统的数据容量要求也持续增大。这样,涉及存储器内和盘上系统两者的特征的混合方案也是有利的。
[0003]在存储器内数据库的一些示例中,列式表格由增量部分和主部分组成。增量部分接收对表格的改变并且将这些改变存储在持续性日志中。在恢复时,从该日志重构建增量部分。这些存储器内数据库使用字典来保持跟踪涉及表格的不同行的各种事务(例如,写入操作)。一些字典一一例如传统的推回字典一一基于条目被写入的顺序将条目附加到字典的后面。因为这些字典未被排序,所以搜索特定行所需要的时间量可随着字典中的条目的数目增长而成为累赘。

【发明内容】

[0004]提供了用于基于行标识符值的字典的强制排序的方法和装置,包括计算机程序产品O
[0005]在一个方面中,在存储器内数据库中处理多个并发事务。这些事务中的至少一者包括到字典的至少一个写入操作。每个写入操作被指派行标识符(ID)。写入操作中的至少一者被不按顺序地写入到字典。顺序是基于行ID的。字典中的每个行ID被映射到字典中的相应值标识符。字典定位值标识符以使得相应行ID是按基于行ID的排序先后顺序的。
[0006]上述方法、装置和计算机程序产品在一些实现方式中还可包括以下特征中的一个或多个。
[0007]字典可包括具有多个连续的行ID的暂态部分。连续的行ID可与基本行ID和基本值ID相关联。基本行ID和基本值ID可代表暂态部分的起始点。
[0008]基本行ID和基本值ID可被存留到存储器内数据库。剩余的多个连续行ID可不被存留到存储器内数据库。
[0009]映射可通过从基本行ID确定进入行ID的偏移量并且将该偏移量加到基本值ID来为进入行ID确定相应的值标识符。
[0010]字典还可包括具有多个存留的行ID的存留部分。可利用搜索机制搜索存留部分以寻找进入行ID。当多个存留的行ID是有序的时,搜索机制可以是二分搜索。当多个存留的行ID不是有序的时,搜索机制可以是散列表搜索。
[0011 ]进入行ID可基于该映射被插入到字典中。
[0012]通过利用行ID的相应值标识符搜索索引字典可获得行ID的行位置。
[0013]该至少一个写入操作可不包括删除操作。
[0014]暂态部分中的值的数目可被存留到存储器内数据库。
[0015]也描述了存储指令的非暂态计算机程序产品(S卩,物理实现的计算机程序产品),这些指令在被一个或多个计算系统的一个或多个数据处理器执行时使得至少一个数据处理器执行这里的操作。类似地,也描述了计算机系统,这些计算机系统可包括一个或多个数据处理器和耦合到这一个或多个数据处理器的存储器。存储器可临时或永久地存储指令,这些指令使得至少一个处理器执行本文描述的操作中的一个或多个。此外,方法可由单个计算系统内的或者分布在两个或更多个计算系统间的一个或多个数据处理器实现。这种计算系统可被连接并且可经由一个或多个连接、经由多个计算系统中的一个或多个之间的直接连接等等来交换数据和/或命令或其他指令等等,所述一个或多个连接包括但不限于通过网络(例如,因特网、无线广域网、局域网、广域网、有线网络等等)的连接。
[0016]本文描述的主题提供了许多技术优点。例如,在一些实现方式中,通过对行标识符字典中的行标识符值排序,可迅速执行读取和查找操作。另外,因为可根据已知关系迅速确定按连续顺序的行标识符值,所以相应的字典条目不需要被存留到主存储,从而将空间释放用于其他数据结构。
[0017]本文描述的主题的一个或多个变化的细节在附图和下面的描述中记载。本文描述的主题的其他特征和优点将从描述和附图以及从权利要求中清楚显现。
【附图说明】
[0018]被并入在此并构成本说明书的一部分的附图示出了本文公开的主题的某些方面,并且与描述一起帮助说明与本文公开的主题相关联的一些原理。在附图中,
[0019]图1是图示出业务软件系统体系结构的特征的图;
[0020]图2是图示出业务软件系统体系结构的特征的另一幅图;
[0021]图3是主存储中存储的片段的示意性表示;
[0022]图4是图示出统一表格容器页链的特征的图;
[0023]图5是图示出统一表格增量的特征的图;
[0024]图6是图示出统一表格未排序字典的特征的图;
[0025]图7是图示出使用统一表格的增量合并操作和读取操作的功能框图;
[0026]图8是示出用于第一增量存储中的写入操作的行标识符指派和行位置指派的表格;
[0027]图9是示出用于第二增量存储中的写入操作的行标识符指派和行位置指派的表格;
[0028]图1OA是行标识符值的未排序字典;
[0029]图1OB是行标识符值的排序字典;
[0030]图11是索引字典;并且[0031 ]图12是用于基于行标识符值对字典排序的流程图。
[0032]各幅图中的相似附图标记指示相似的元素。
【具体实施方式】
[0033]当前主题包括数个方面,这些方面可被单独应用或者将一个或多个这种方面组合应用,来支持一种统一数据库表格方案,该方案将存储器内数据库方案的性能优点与盘上数据库方案的降低的存储成本相集成。当前主题可在以下系统中实现:使用存储器内OLAP的数据库系统,例如包括大小为若干万亿字节(或更大)的数据库,具有数十亿(或更多)行的表格,等等;使用存储器内OLTP的系统(例如,企业资源规划或ERP系统等等),例如具有高事务量的大小为若干万亿字节(或更大)的数据库;以及使用盘上OLAP的系统(例如,“大数据”,用于高级分析的分析服务器、数据仓库、业务智能环境,等等),例如大小为若干千万亿字节或甚至更大的数据库、具有多达数万亿行的表格,等等。
[0034]另外,当前主题涉及并针对如本文所述的许多方面并且还涉及与本申请同时于2014年11月25日递交的以下专利申请:标题“In-Memory Database System ProvidingLockless Read and Write Operat1ns for OLAP and OLTP Transact1ns”,发明人AnilKumar Goel n Ivan Schreter、Juchang Lee、Mihnea Andrei (代理人案卷号54874-063R)1US/141088US01),其内容在此被通过引用完全并入。
[0035]当前主题可实现为企业资源规划(enterprise resource planning,ERP)系统的核心软件平台、其他业务软件体系结构或者在特定组织的控制下的一个或多个处理器上运行的其他数据密集型计算应用或软件体系结构。这个布置对于这样的大规模组织可能是非常有效的:这些组织具有非常富有经验的内部信息技术(IT)职员,并且对于这些组织,在定制市售的业务软件解决方案以结合组织特定的业务流程和功能一起工作所需要的计算硬件和咨询服务上的相当大的资本投入是可行的。图1示出了符合这种实现方式的系统的图100。计算系统110可包括提供业务软件系统的一个或多个特征的一个或多个核心软件平台模块120。该计算系统也可聚合或以其他方式提供一网关,经由该网关,用户可访问由一个或多个外部软件组件130提供的功能。客户端机器140可经由直接连接、本地终端或者通过网络150(例如,局域网、广域网、无线网络、因特网,等等)访问该计算系统。
[00
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1