[发明专利]数据库管理系统中的高性能事务有效
申请号: | 201580056817.3 | 申请日: | 2015-10-07 |
公开(公告)号: | CN107077495B | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | D·B·洛梅特;J·J·勒范多斯基;S·森古普塔;R·斯图斯曼 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 王英 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 管理 系统 中的 性能 事务 | ||
1.一种系统,包括:
一个或多个处理器;以及
一个或多个计算机可读硬件存储介质,具有存储在其上的计算机可执行指令,所述计算机可执行指令由所述一个或多个处理器可执行,使得所述系统被配置有在数据库管理系统中提供高性能数据事务的构架,所述构架包括:
恢复日志,所述恢复日志部分地作为用于事务输出消息的延迟递送的队列,并且所述恢复日志存储记录的版本,其中所述恢复日志存储重做记录以及表示与密钥值储存库相关联的相应记录的版本的副本的记录条目;
无锁存散列表,包括指示被存储在所述恢复日志中的所述记录的所述版本的存储位置的偏移值以及指示所述记录的所述版本的在时间上最近读取时间的最近读取时间值;
多版本并发控制(MVCC)模块,使用由来自所述无锁存散列表的所述最近读取时间值确定的所述记录的所述时间上最近读取时间来执行时间戳顺序并发控制,以标识指示被存储在所述恢复日志中的所述记录的所述版本的所述存储位置的所述偏移值;以及
版本管理器,所述版本管理器向事务部件代理发送日志缓冲区,所述事务部件代理接收所述日志缓冲区并且向用于与提交的事务相关联的记录的稳定存储装置发布所述提交的事务。
2.根据权利要求1所述的系统,所述构架还包括:
历元引擎,所述历元引擎通过拒绝对重新使用相应释放的存储器位置的许可直到活动线程不能解除引用指向所述相应释放的存储器位置的指针来控制释放的存储器位置的重新使用。
3.根据权利要求1所述的系统,所述构架还包括:
事务部件包括事务表,所述事务表包括表示相应事务的相应条目,其中所述相应条目的每个条目包括:
事务标识符TID,
时间戳值,指示所述相应事务的开始时间,
列表,表示由所述事务做出的更新,以及
标志值,指示所述相应事务是活动的、提交的还是中止的。
4.根据权利要求3所述的系统,其中:
所述事务表包括表示由所述事务部件周期性地确定的最旧的活动事务的条目,作为所述相应事务中活动的且与最旧的时间戳相关联的事务,其中表示所述最旧的活动事务的条目用于控制所述无锁存散列表中的版本的垃圾收集。
5.根据权利要求3所述的系统,其中:
所述事务部件控制针对相应只读事务的相应提交操作的相应提交记录写入操作,以存储针对所述相应只读事务的提交记录。
6.根据权利要求5所述的系统,其中:
作为迄今已经被所述相应只读事务中的每个只读事务读取的最近的读取版本的提交稳定性状态的相应确定的结果,所述事务部件发起针对所述相应只读事务的所述相应提交操作的所述相应提交记录写入操作。
7.根据权利要求1所述的系统,其中:
所述事务部件批准当前记录的事务更新,发起所述当前记录的更新版本的副本在所述恢复日志中的存储,并且发起所述无锁存散列表中的新条目的生成,所述新条目包括指示所述恢复日志中的所述当前记录的所述更新版本的位置的偏移值以及负责所述当前记录的所述事务更新的事务的指示。
8.根据权利要求1所述的系统,其中:
所述事务部件代理远离所述版本管理器,接近与所述稳定存储装置相关联的数据部件的位置,或者在所述版本管理器的本地。
9.根据权利要求8所述的系统,其中:
所述事务部件代理向与所述提交的事务相关联的记录的稳定存储装置发布所述提交的事务,维持对所述数据部件的恢复应用的进展的追踪,并且向所述事务部件提供所追踪的进展的概述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580056817.3/1.html,转载请声明来源钻瓜专利网。