[发明专利]数据库管理系统中的高性能事务有效
申请号: | 201580056817.3 | 申请日: | 2015-10-07 |
公开(公告)号: | CN107077495B | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | D·B·洛梅特;J·J·勒范多斯基;S·森古普塔;R·斯图斯曼 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 王英 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 管理 系统 中的 性能 事务 | ||
事务引擎包括多版本并发控制(MVCC)模块,该多版本并发控制模块访问无锁存散列表,该无锁存散列表包括相应散列表条目,散列表条目包括相应桶项的相应桶。桶项表示相应记录,相应桶项的每个项包括指示项的在时间上最近读取时间的值和描述相应记录的相应版本的描述的版本列表,MVCC模块执行时间戳顺序并发控制,使用无锁存散列表。恢复日志缓冲区可以用作事务引擎的高速缓存存储装置。
背景技术
电子设备的用户经常需要访问数据库系统以获得各种类型的信息和/或执行各种操作。已经设计了很多不同的技术来控制数据项的存储和检索。例如,一些最近的硬件平台已经开发了最近的硬件开发,例如多核处理器、多层存储器层次结构和诸如闪存等辅助存储设备,以试图为电子设备提供更高的性能。
发明内容
根据一个一般方面,一种系统可以包括一种装置,该装置包括处理器和事务部件,事务部件包括存储由处理器可执行的可执行指令的计算机可读存储介质。可执行指令包括事务引擎,事务引擎包括多版本并发控制(MVCC)模块,MVCC模块访问存储相应散列(hash)表条目的无锁存散列表,相应散列表条目包括表示相应记录的相应桶项的相应桶。相应桶项每个包括指示项的在时间上最近读取时间的值和描述相应记录的相应版本的描述的版本列表。MVCC模块使用无锁存散列表来执行时间戳顺序并发控制。
根据另一方面,访问无锁存散列表。无锁存散列表包括相应散列表条目,散列表条目包括表示相应记录的相应桶项的相应桶,相应桶项每个包括指示每个项的在时间上最近读取时间的值以及描述相应记录的一个或多个相应版本的一个或多个描述的版本列表。恢复日志用作相应记录的一个或多个相应版本的源。使用无锁存散列表对密钥值储存库执行时间戳顺序并发控制。
根据另一方面,使用用于新到达的存储实体条目的动态存储分配来访问被构造为多个存储缓冲区的存储条目。维持指示特定存储缓冲区内的新请求的存储分配的下一可用位置的偏移变量值,偏移变量值经由原子获取和增量(FAI)操作来更新,以向偏移变量值添加所请求的分配的大小,偏移变量值还指示特定存储缓冲区的活动用户的当前数目。使用在存储缓冲区之一中的动态存储分配来发起存储实体中的条目的存储,并且更新偏移变量值。
提供本发明内容以便以简化的形式介绍将在以下具体实施例中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。在附图和以下描述中阐述了一个或多个实现的细节。根据说明书和附图以及权利要求书,其他特征将是显而易见的。
附图说明
图1描绘了示例存储引擎架构。
图2示出了通过与示例数据部件通信的示例事务部件的示例数据流。
图3示出了与示例数据部件通信的示例事务部件代理。
图4示出了测量示例事务部件的性能的示例实验数据结果。
图5A-5B是使用盲更新操作的数据修改的示例系统的框图。
图6A-6E是示出图5A-5B的系统的示例操作的流程图。
图7是示出图5A-5B的系统的示例操作的流程图。
图8是示出图5A-5B的系统的示例操作的流程图。
图9描绘了示例更新操作。
图10是示例B树原子记录储存库架构的框图。
图11示出了用于高速缓存/存储层的访问方法的示例性架构分层。
图12是用于多访问方法的无锁存日志结构存储装置的示例架构的框图。
图13示出了示例映射表。
图14A-14B示出了示例映射表上的示例增量更新。
图15描绘了示例部分页面交换和示例部分交换增量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580056817.3/2.html,转载请声明来源钻瓜专利网。