基于记录的多版本并发控制的一致性读取的方法和系统技术方案

技术编号:14759554 阅读:66 留言:0更新日期:2017-03-03 07:57
提供了系统和方法实施例,用于基于记录的多版本并发控制(Multi‑Version Concurrency Control,MVCC)数据库(database,DB)管理系统中的一致性读取。在一实施例中,一种基于记录的多版本并发控制(Multi‑Version Concurrency Control,MVCC)数据库(database,DB)管理系统中用于快照一致性读取的方法包括:从阅读器起点的事务日志中复制系统提交事务标识(transaction identifier,TxID)和当前日志记录序号(log record sequence number,LSN),而无需将事务的提交LSN回填到改变的记录,也无需阅读器复制整个事务表;根据记录TxID、提交TxID和当前LSN确定记录是否可见,其中,只有当所述记录TxID等于或大于事务起点处的提交TxID时,才会查阅事务表。

【技术实现步骤摘要】
【国外来华专利技术】相关申请案交叉申请本申请要求于2014年3月28日递交的专利技术名称为“基于记录的多版本并发控制的一致性读取的有效方法和系统”的第“14/229,519”号美国专利申请案的在先申请优先权,其全部内容通过引用结合在本申请中。本申请要求于2014年3月28日递交的专利技术名称为“索引中优化多版本支持的系统和方法”的第“14/229,638”号美国专利申请案的在先申请优先权,其全部内容通过引用结合在本申请中。
本专利技术涉及在数据库管理系统中基于记录的多版本并发控制的系统和方法,在实施例中,尤其涉及在数据库管理系统中一致性读取基于记录的多版本并发控制的系统和方法。
技术介绍
现代数据库管理系统中,多版本并发控制(Multi-VersionConcurrencyControl,MVCC)是基本机制,实现高并发性来允许阅读器而不阻塞更新器和允许更新器而不阻塞阅读器,实现快照读取一致性,而这对很多应用至关重要。MVCC可被归为基于页和基于记录的方法,典型地与UNDO和日志记录机制结合。基于记录的方法可使用历史(差异)记录链接的链以用于记录的历史。为了读取在某一时间的记录,系统遍历所述链来找到在所述时间提交的最后记录。
技术实现思路
根据一实施例,一种基于记录的多版本并发控制(Multi-VersionConcurrentControl,MVCC)数据库(database,DB)管理系统中用于快照一致性读取的方法包括:从阅读器起点的事务日志中复制系统提交事务标识(transactionidentifier,TxID)和当前日志记录序号(logrecordsequencenumber,LSN),而无需将事务的提交LSN回填到改变的记录,也无需阅读器复制整个事务表;根据记录TxID、提交TxID和当前LSN确定记录是否可见,其中,只有当所述记录TxID等于或大于事务起点处的提交TxID时,才会查阅事务表。根据一方面,一种基于记录的多版本并发控制(Multi-VersionConcurrentControl,MVCC)数据库(database,DB)管理系统中用于快照一致性读取的装置包括:复制构件,用于从阅读器起点的事务日志中复制系统提交事务标识(transactionidentifier,TxID)和当前日志记录序号(logrecordsequencenumber,LSN),而无需将事务的提交LSN回填到改变的记录,也无需阅读器复制整个事务表;确定构件,用于根据记录TxID、提交TxID和当前LSN确定记录是否可见,其中,只有当所述记录TxID等于或大于事务起点处的提交TxID时,才会查阅事务表。根据上述方面的一实施形式,所述装置的所述确定构件还用于:当所述记录的创建TxID小于所述事务起点处的系统提交TxID或所述事务本身创建所述记录时,确定所述记录可见。根据上述方面的另一实施形式,所述装置的所述确定构件还用于:当所述记录创建TxID被提交且所述创建TxID的结束时间戳(endtimestamp,ETS)小于所述事务起点处的当前LSN,确定所述记录可见。根据上述方面的一实施形式,所述装置的所述确定构件还用于:当创建TxID大于或等于所述事务起点处的提交TxID且满足两个条件中的一个时,确定所述记录不可见,其中,所述情况包括:确定未提交的创建TxID大于或等于所述事务起点处的当前LSN,以及确定创建TxID的结束时间戳(endtimestamp,ETS)大于或等于所述事务起点处的当前LSN。根据上述方面的一实施形式,所述装置的所述确定构件还用于:当删除TxID小于所述事务起点处的提交TxID或所述事务本身作出删除时,判断所述记录是根据删除标志删除的。根据上述方面的一实施形式,所述装置的所述确定构件还用于:当删除TxID被提交且所述删除TxID的结束时间戳(endtimestamp,ETS)小于所述事务开始处的当前LSN,判断所述记录是根据删除标志删除的。根据上述方面的任何实施形式,所述装置的所述确定构件还用于:确定是否根据与记录对应的索引叶子页记录中的删除指示删除了记录;在未删除所述记录时,根据索引叶子页中的新记录指示并根据事务开始处的系统提交事务标识(transactionidentifier,TxID)与从所述索引叶子页记录得到的记录创建TxID的比较,确定所述记录是否可见;处理器,用于执行所述确定步骤的结果。根据上述管理数据库的所述装置的任何实施形式,所述确定构件还用于将删除TxID与所述事务开始处的系统提交TxID进行比较,其中,当所述删除指示指示所述记录被删除时且当所述删除TxID的结束时间戳(endtimestamp,ETS)小于或等于事务开始处的系统提交TxID时,所述记录被删除。根据上述管理数据库的所述装置的任何实施形式,所述确定构件还用于:当删除TxID被提交且所述删除TxID的ETS小于所述事务开始处的当前日志序号(logrecordsequencenumber,LSN)时,判断所述记录被删除。上述方案通过Commit_TxID(或Commit_LSN)优化了存储紧缩。紧缩后,版本信息只有1比特。根据一实施例,一种用于管理数据库的数据处理系统包括:处理器和计算机可读存储介质,用于存储所述处理器的执行程序,其中,所述程序包括指令,用于:从阅读器起点的事务日志中复制系统提交事务标识(transactionidentifier,TxID)和当前日志记录序号(logrecordsequencenumber,LSN),而无需将事务的提交LSN回填到改变的记录,也无需阅读器复制整个事务表;根据记录TxID、所述提交TxID和当前LSN确定记录是否可见,其中,只有当所述记录TxID等于或大于事务起点处的提交TxID时,才会查阅事务表。根据一实施例,一种基于记录的多版本并发控制(Multi-VersionConcurrencyControl,MVCC)数据库(database,DB)管理系统包括:事务表,包括所述系统中多个事务中的每个事务的状态,其中,每个事务被按事务标识(transactionidentifier,TxID)索引,这些TxID随着时间单一增加,提交TxID是所述事务表中活动事务的最旧的ID;存储子系统,用于存储多个版本的记录和每个记录的更新历史,其中,每个记录都包括创建或删除所述记录的事务TxID;日志记录子系统,包括处理器,其中,所述日志记录子系统用于追踪所述存储子系统的所有变化并用于使用日志记录序号(logrecordsequencenumber,LSN)来进行序列比对和恢复;阅读器,用于仅仅复制系统提交TxID和当前LSN,根据事务起点处的记录TxID、提交TxID和当前LSN,确定记录是否可见,而无需查阅所述事务表,除非所述记录TxID等于或大于所述事务起点处的提交TxID。MVCC是DBMS引擎中的基本技术。简单而有效的算法具有高需求。通过应用上述方案,为数据管理简化了MVCC的实现。通过有效的可见性检查,所述系统复杂度可更低且更稳健。更具体的,基于记录的MVCC使用记录中的事务ID,而使用事务提交LSN来检查可见性,可见性查看所需要的保存在阅读器开始处的变量较小,可避免当事务开始时的本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580014605.html" title="基于记录的多版本并发控制的一致性读取的方法和系统原文来自X技术">基于记录的多版本并发控制的一致性读取的方法和系统</a>

【技术保护点】
一种基于记录的多版本并发控制(Multi‑Version Concurrency Control,MVCC)数据库(database,DB)管理系统中用于快照一致读取的方法,其特征在于,所述方法包括:从阅读器起点的事务日志中复制系统提交事务标识(transaction identifier,TxID)和当前日志记录序号(log record sequence number,LSN),而无需将事务的提交LSN回填到改变的记录,也无需阅读器复制整个事务表;根据记录TxID、所述提交TxID和当前LSN确定记录是否可见,其中,只有当所述记录TxID等于或大于事务起点处的提交TxID时,才会查阅事务表。

【技术特征摘要】
【国外来华专利技术】2014.03.28 US 14/229,519;2014.03.28 US 14/229,6381.一种基于记录的多版本并发控制(Multi-VersionConcurrencyControl,MVCC)数据库(database,DB)管理系统中用于快照一致读取的方法,其特征在于,所述方法包括:从阅读器起点的事务日志中复制系统提交事务标识(transactionidentifier,TxID)和当前日志记录序号(logrecordsequencenumber,LSN),而无需将事务的提交LSN回填到改变的记录,也无需阅读器复制整个事务表;根据记录TxID、所述提交TxID和当前LSN确定记录是否可见,其中,只有当所述记录TxID等于或大于事务起点处的提交TxID时,才会查阅事务表。2.根据权利要求1所述的方法,其特征在于,所述确定记录是否可见包括:当所述记录的创建TxID小于所述事务起点处的系统提交TxID或所述事务本身创建所述记录时,确定所述记录可见。3.根据权利要求1所述的方法,其特征在于,所述确定记录是否可见包括:当所述记录的创建TxID被提交时且所述创建TxID的结束时间戳(endtimestamp,ETS)小于所述事务起点处的当前LSN时,确定所述记录可见。4.根据权利要求1所述的方法,还包括:当创建TxID大于或等于所述事务起点处的提交TxID,所述事务未创建所述记录且创建TxID未被提交或所述创建TxID的结束时间戳(endtimestamp,ETS)大于或等于所述事务起点处的当前LSN时,跟随版本存储记录ID(versionstorerecordID,VSRID)从而根据更新标志得到下一记录。5.根据权利要求1所述的方法,还包括:当创建TxID大于或等于所述事务起点处的提交TxID且满足两个条件中的一个时,确定所述记录不可见,其中,所述两个条件包括:确定未提交的创建TxID大于或等于所述事务起点处的当前LSN,以及确定创建TxID的结束时间戳(endtimestamp,ETS)大于或等于所述事务起点处的当前LSN。6.根据权利要求1所述的方法,其特征在于,还包括:当删除TxID小于所述事务起点处的提交TxID或所述事务本身作出删除时,判断所述记录是根据删除标志删除的。7.根据权利要求1所述的方法,其特征在于,还包括:当删除TxID被提交且删除TxID的结束时间戳(endtimestamp,ETS)小于所述事务起点处的当前LSN时,判断所述记录是根据删除标志删除的。8.一种数据处理系统,用于管理数据库,其特征在于,所述数据处理系统包括:处理器;计算机可读存储介质,用于存储所述处理器的执行程序,其中,所述程序包括指令,以用于:从阅读器起点的事务日志中复制系统提交事务标识(transactionidentifier,TxID)和当前日志记录序号(logrecordsequencenumber,LSN),而无需将事务的提交LSN回填到改变的记录,也无需阅读器复制整个事务表;根据记录TxID、所述提交TxID和当前LSN确定记录是否可见,其中,只有当所述记录TxID等于或大于事务起点处的提交TxID时,才会查阅事务表。9.根据权利要求8所述的数据处理系统,其特征在于,确定记录是否可见的所述指令包括:用于当所述记录的创建TxID小于所述事务起点处的系统提交TxID或所述事务本身创建所述记录时,确定所述记录可见的指令。10.根据权利要求8所述的数据处理系统,其特征在于,所述确定记录是否可见的所述指令包括:用于当所述记录创建TxID被提交时且所述创建TxID的结束时间戳(endtimestamp,ETS)小于所述事务起点处的当前LSN,确定所述记录可见的指令。11.根据权利要求8所述的数据处理系统,其特征在于,所述程序还包括:用于进行以下操作的指令:当创建TxID大于或等于所述事务起点处的提交TxID且创建TxID未被提交时或当所述创建Tx...

【专利技术属性】
技术研发人员:张国根
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1