具有事务控制块索引的数据库系统的制作方法

文档序号:9865584阅读:313来源:国知局
具有事务控制块索引的数据库系统的制作方法
【技术领域】
[0001] 本文描述的主题设及一种利用事务控制块索引的数据库系统,该事务控制块索引 使得实时事务能够读取其自己对其他事务不可见的记录的写入。
【背景技术】
[0002] 一些数据库使用基于时间戳的多版本并发控制(multi-version concurrent control, MVCC)来最小化关于同时事务的冲突。利用此布置,数据库中的记录被(在逻辑 上)标记W与创建和删除了该记录的事务相对应的创建和删除时间戳。如果记录尚未被删 除,则删除时间戳被取消设置(运可由某个特殊值表示,例如可表示的最大整数值)。
[0003] 需要数据库上的一致视图(或快照)来确保S化语句的或者整个事务的一致执 行。一致视图是通过取被附加到或关联到每个记录的提交时间戳生成子(即,时间戳)的 当前值来创建的。此时间戳随后被对照创建和删除时间戳(CTS、DT巧使用来决定记录的可 见性。
[0004] 记录在W下情况下被认为可见:如果其时间戳(倘若被取消设置/不可见的时间 戳被定义为可表示的最大整数值)小于或等于存储在一致视图(consistent view, CV)中 的时间戳。 阳005] visible (CV,T巧=TS《CV. TS
[0006] 如果创建时间戳可见并且删除时间戳不可见,则记录因此是可见的。
[0007] visible (record) = visible (CV,record. CT巧 Λ-visible (CV. record. DT巧

【发明内容】

[0008] 在一个方面中,在数据库中处理多个事务。每个事务包括在数据库中的至少一个 记录上的多个操作,其中运些事务中的至少两者被并发地处理。然后,向每个记录指派临时 时间戳。临时时间戳至少部分基于相应的事务。另外,向具有提交操作的每个记录指派最 终时间戳。随后可利用可见性函数并且基于指派的临时时间戳和最终时间戳判定哪些记录 在用于第一事务的一致视图中是可见的。基于运种判定,可向第一事务提供对被判定为可 见W便访问的那些记录的访问。
[0009] 每个事务可具有运种事务特定的相应事务控制块索引。每个时间戳可由提交时间 戳生成子生成。可选择性地锁定提交时间戳生成子W防止其发出额外的时间戳。可通过 W下操作在提交操作执行时将用于第一记录的临时时间戳转换成最终时间戳:进入提交锁 定,将用于第一记录的提交时间戳设置到来自提交时间戳生成子加1的值,发出写入存储 器屏障,将提交时间戳生成子值增大1,并且释放提交锁定。
[0010] 也描述了存储指令的非暂态计算机程序产品(即,物理实现的计算机程序产品), 运些指令在被一个或多个计算系统的一个或多个数据处理器执行时使得至少一个数据处 理器执行运里的操作。类似地,也描述了计算机系统,运些计算机系统可包括一个或多个数 据处理器和禪合到运一个或多个数据处理器的存储器。存储器可临时或永久地存储指令, 运些指令使得至少一个处理器执行本文描述的操作中的一个或多个。此外,方法可由单个 计算系统内的或者分布在两个或更多个计算系统间的一个或多个数据处理器实现。运种计 算系统可被连接并且可经由一个或多个连接、经由多个计算系统中的一个或多个之间的直 接连接等等来交换数据和/或命令或其他指令等等,所述一个或多个连接包括但不限于通 过网络(例如,因特网、无线广域网、局域网、广域网、有线网络等等)的连接。当前主题可 包括并包含存储器内数据库,并且具体地包括列式存储器内数据库。
[0011] 本文描述的主题提供了许多技术优点。例如,当前主题与传统技术相比就存储器 消耗和执行时间而言更高效。例如,一种替换方案是明确地跟踪由事务创建和删除的一组 记录和在运组记录中的查找。运种布置的不利之处在于当与当前主题相比较时其要求更复 杂的代码并且提供更低的性能。运个替换方案的不利之处还在于随着多线程化而发生的问 题,因为必须保护共享的结构;利用当前布置,不要求共享的结构。在另一替换方案中,可W 使用一种不同的模型,其将事务标识符而不是提交时间戳存储在记录上,同时将开放事务 列表保持为一致视图的一部分。与当前主题相比,利用开放事务列表创建一致视图和利用 的可见性函数都比基于提交时间戳的解决方案更加资源昂贵。此外,利用当前主题,不需要 在提交点对事务重定时间戳。另外,当前主题的有利之处也在于其允许实时事务读取其自 己的写入,运些写入对其他事务是不可见的。
[0012] 本文描述的主题的一个或多个变化的细节在附图和下面的描述中记载。本文描述 的主题的其他特征和优点将从描述和附图W及从权利要求中清楚显现。
【附图说明】
[0013] 图1是图示出业务软件系统体系结构的特征的图;
[0014] 图2是图示出业务软件系统体系结构的特征的另一幅图;
[0015] 图3是主存储中存储的片段的示意性表示;
[0016] 图4是图示出统一表格容器页链的特征的图;
[0017] 图5是图示出统一表格增量的特征的图;
[0018] 图6是图示出统一表格未排序字典的特征的图;
[0019] 图7是图示出利用统一表格执行增量合并操作和读取操作的功能框图;
[0020] 图8是图示出提交处理如何将临时时间戳转换成最终时间戳的过程流程图;
[0021] 图9是图示出进行提交的线程如何可W是若干个提交并行事务之一的过程流程 图;
[0022] 图10是图示出提交线程如何可W是若干个提交并行事务之一的过程流程图;并 且
[0023] 图11是用于在利用事务控制块索引的数据库系统中提交事务的过程流程图。
[0024] 各幅图中的相似附图标记指示相似的元素。
【具体实施方式】
[00巧]当前主题包括数个方面,运些方面可被单独应用或者将一个或多个运种方面组合 应用,来支持一种统一数据库表格方案,该方案将存储器内数据库方案的性能优点与盘上 数据库方案的降低的存储成本相集成,尤其对于并发事务的处理更是如此。当前主题可在 W下系统中实现:使用存储器内OLAP的数据库系统,例如包括大小为若干万亿字节(或更 大)的数据库,具有数十亿(或更多)行的表格,等等;使用存储器内化TP的系统(例如, 企业资源规划或ERP系统等等),例如具有高事务量的大小为若干万亿字节(或更大)的 数据库;化及使用盘上0LAP的系统(例如,"大数据",用于高级分析的分析服务器、数据仓 库、业务智能环境,等等),例如大小为若干千万亿字节或甚至更大的数据库、具有多达数万 亿行的表格,等等。
[00%] 当前主题可实现为企业资源规划(ente巧rise resource planning, ERP)系统的 核屯、软件平台、其他业务软件体系结构或者在特定组织的控制下的一个或多个处理器上运 行的其他数据密集型计算应用或软件体系结构。运个布置对于运样的大规模组织可能是非 常有效的:运些组织具有非常富有经验的内部信息技术(IT)职员,并且对于运些组织,在 定制市售的业务软件解决方案W结合组织特定的业务流程和功能一起工作所需要的计算 硬件和咨询服务上的相当大的资本投入是可行的。图1示出了符合运种实现方式的系统的 图100。计算系统110可包括提供业务软件系统的一个或多个特征的一个或多个核屯、软件 平台模块120。该计算系统也可聚合或W其他方式提供一网关,经由该网关,用户可访问由 一个或多个外部软件组件130提供的功能。客户端机器140可经由直接连接、本地终端或 者通过网络150 (例如,局域网、广域网、无线网络、因特网,等等)访问该计算系统。
[0027] 数据库管理代理160或其他相当的功能可访问数据库管理系统170(有时就称为 数据库),数据库管理系统170存储并提供对数据的访问(例如,业务场景、业务流程和一个 或多个业务配置的定义,W及与业务场景、业务流程和一个或多个业务配置的定义有关的 数据、元数据、主数据等等,和/或与业务场景或业务流程的特定实例相关的数据对象和/ 或业务对象的具体实例,等等)。数据库管理系统170
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1