CN102750376A - 一种多版本数据库存储引擎系统及其相关处理的实现方法 - Google Patents
一种多版本数据库存储引擎系统及其相关处理的实现方法 Download PDFInfo
- Publication number
- CN102750376A CN102750376A CN201210209343XA CN201210209343A CN102750376A CN 102750376 A CN102750376 A CN 102750376A CN 201210209343X A CN201210209343X A CN 201210209343XA CN 201210209343 A CN201210209343 A CN 201210209343A CN 102750376 A CN102750376 A CN 102750376A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- storage
- affairs
- versions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种用于海量存储查询专用数据库的多版本存储引擎系统及其相关处理的实现方法。所述存储引擎系统包括:数据存储模块,用于存储压缩数据包;索引模块,用于存储和处理知识网格索引;数据缓存模块,用于存储插入数据;和修改存储区模块,用于存储事务对数据包的修改记录;其特征在于:将数据分块压缩成数据包存储,将数据的版本信息和修改记录存储在一个修改存储区中。这些模块构成了这个多版本存储引擎的整体框架,在这个框架的基础上本发明设计和实现了一系列查询处理和版本信息处理相关的关键算法,从而实现了多版本控制技术。通过这个多版本存储引擎,本发明使得该数据库支持了多版本操作,显著地提高了数据库系统的并发度,实现了数据库系统性能的极大提升。
Description
技术领域
本发明涉及一种多版本数据库的存储引擎系统,特别是涉及一种海量存储查询专用数据库系统的多版本存储引擎的设计及其实现方法。
背景技术
并发控制是数据库系统的关键技术,它保证了在多用户并发操作情况下的数据一致性,同时也是衡量数据库系统性能的重要指标之一。大多数传统数据库的并发控制采用的是两阶段锁协议,这个协议保证了并发事务执行时数据库系统中数据的一致性,但是在对任何数据进行读、写操作之前,需要对该数据加锁,从而造成了读事务和写事务之间需要相互等待,给数据库系统带来较大的并发开销,对性能产生一定的影响。多版本并发控制较好地解决了这一问题,在多版本的系统中,每一次写数据均产生一个新的版本,读操作可以根据需要读取合适的版本,因此读写操作互不阻塞。多版本并发控制技术极大地提高了数据库系统的并发度,从而促进了数据库系统性能的提升,目前,多版本并发控制技术被很多主流数据库系统采用,如Oracle,SqlServer,PostgreSQL等等。新推出的数据库系统,也几乎都使用多版本技术来实现并发控制,可以说多版本技术已经成为数据库系统并发控制技术未来的发展趋势。
虽然目前主流数据库都支持多版本并发控制技术,但是他们实现多版本的方式却不尽相同。由于大部分主流数据库都是商业数据库,并没有详细公布它们的内部实现细节,所以根据少量的公开文档,我们只能推断出他们实现多版本控制技术的大致方式。Oracle数据库实现的是页面级的多版本,在数据库中同时存在多个版本的页面数据,事务根据需要取得或者构造自己需要的页面版本;而SqlServer,PostgreSQL等数据库实现的是行级多版本,每个数据行数都记录着版本信息,事务根据可见性判断来取得自己能够读取到的数据行。相同的是,他们都用系统更改号来表示数据的版本信息,系统更改号是一个严格递增的序列,每个更新事务都会取得一个唯一的系统更改号,事务就是通过记录在数据上的系统更改号来判别自己是否可以访问这个数据,通过系统更改号数据库实现了并发事务的访问控制。通过多版本并发控制技术,这些数据库都能够支持高并发的访问,极大地提供了数据库系统的性能。
鉴于多版本并发控制技术的诸多优点,本发明考虑为本公司的神通kstore数据库设计和实现一个多版本存储引擎,来提高该数据库系统的性能。神通kstore数据库是本公司自主研发的面向海量数据存储和查询的专用数据库系统,该数据库系统通过行列混合存储技术和多种数据压缩技术实现了海量数据的高效存储,同时通过知识网格索引技术实现了对压缩存储数据的高效查询。由于该数据库系统的数据存储方式和索引方式与传统的数据库存在较大的差别,所以一般的多版本并发控制的实现方式并不适用于该数据库系统,因此需要另外设计一种多版本并发控制技术的实现方式。本发明通过综合考虑现有多版本技术的特点和神通kstore数据库自身的特性,设计并实现了一个多版本存储引擎,在神通kstore数据库中很好地引入了多版本并发控制技术,极大提升了数据库系统的性能。
发明内容
本发明目的在于设计和实现一个支持多版本并发控制技术的数据库存储引擎,这个存储引擎服务于本公司自主研发的针对海量数据存储查询的专用数据库--神通kstore数据库。通过充分考虑该数据库的底层存储结构和所面向的查询类型的特点,本发明设计了一个特别的多版本并发控制协议,并通过多个关键算法实现了这个多版本协议,进而实现了一个高效的多版本存储引擎,最终提高了神通kstore数据库系统的并发度,实现了该数据库系统性能的极大提升。
为达到上述目标,本发明采用的具体技术方案如下:
一、一种多版本数据库存储引擎的整体系统架构。
神通kstore数据库处理的是海量数据的存储和查询,为了提供存储效率,数据在底层是通过分块压缩存储的,一定行数(比如一万行)的数据被作为一个数据块,经过压缩后存储成一个数据包。通过在所有数据包上建立知识网格索引来实现对数据的快速查询。通过这种方式,神通kstore数据库实现了对海量数据的高效压缩存储和快速查询处理。并且,针对海量数据的查询大部分是只读查询,只有少量的更新查询。根据神通kstore数据库的这些特点,本发明的多版本协议实现数据包级别的多版本,因为更新查询很少,所以只支持到数据包级别的多版本就可以满足需求,这样能够在实现多版本的同时尽量地减小存储开销,并减小维护多版本数据的开销。同时,本发明也采用系统更改号来作为数据的版本信息,每个更新事务都会有一个对应的唯一的系统更改号,事务根据数据上的系统更改号来判断是否能够访问该数据。系统更改号分别记录在数据包和修改存储区中,数据包里记录创建这个数据包的事务的系统更改号,而修改存储区里记录所有曾经对这个数据包进行过修改的事务的系统更改号以及修改内容。
具体地,本发明公开一种用于海量存储查询专用数据库的多版本存储引擎系统,所述存储引擎系统包括:
数据存储模块,用于存储压缩数据包;
索引模块,用于存储和处理知识网格索引;
数据缓存模块,用于存储插入数据;和
修改存储区模块,用于存储事务对数据包的修改记录;
其特征在于:将数据分块压缩成数据包存储,将数据的版本信息和修改记录存储在一个修改存储区中。
根据上述所述的多版本存储引擎系统,其特征还在于:
数据在底层通过分块压缩存储,以特定行数的数据被作为一个数据块,经过压缩后存储成一个数据包,并且通过在所有数据包上建立知识网格索引来实现对数据的快速查询。
根据上述所述的多版本存储引擎系统,其特征还在于:所述特定行数用户可以自行设定,默认为一万行。
根据上述所述的多版本存储引擎系统,其特征还在于:所述多版本存储引擎系统能实现数据包级别的多版本,并且采用系统更改号来作为数据的版本信息,其中,每个事务都会有一个对应的唯一的系统更改号,事务根据数据上的系统更改号来判断是否能够访问该数据。
根据上述所述的多版本存储引擎系统,其特征还在于:使用一个修改存储区来存储修改记录,在这个修改存储区里记录所有曾经对这个数据包进行过修改的事务的系统更改号以及修改内容。
在整个架构中,数据存储模块负责存储压缩后的数据包并记录创建这个数据包的事务的系统更改号;索引模块负责创建,存储以及处理所有数据的知识网格索引信息,加速查询处理;数据缓存模块负责存储一些小规模的插入数据已经产生这些数据的事务的系统更改号,当存储的数据达到一定规模后(比如一万行)就把数据压缩成数据包,并交给数据存储模块处理;修改存储区模块记录事务对数据包的修改记录,每个数据包的修改记录用一个链表串起来存储,每条修改记录中包含修改的内容和所属事务的系统更改号。这些模块紧密联系,相互合作,构成这个多版本存储引擎的整体架构,是实现多版本并发控制技术的基础。
二、基于上述框架的查询处理算法和数据版本信息处理算法的实现方法
有了整体架构之后,为了实现多版本存储引擎,还需要高效的多版本查询处理算法和版本信息处理算法。查询处理算法主要负责处理用户对数据的查询,插入和删除等操作,版本信息处理算法主要负责处理数据的版本信息,构造属于某个系统更改号的版本,数据的可见性判断以及修改存储区空间的回收。
版本信息处理算法包括可见性判断算法,版本构造算法以及修改存储区回收算法。可见性判断算法确定一个数据包或者修改记录对于某个事务是否可见,一个事务可以看到系统更改号比自己的系统更改号小的数据包或者修改记录,以及事务自己产生的数据包或者修改记录,通过这个条件,可见性判断算法确定数据是否可见;版本构造算法根据需要构造出数据的当前版本或者某个历史版本,首先取得要构造版本的事务的系统更改号,然后遍历修改存储区中的修改记录链表并通过可见性判断算法取得该系统更改号能够访问的修改记录,最后把这些修改记录和原始数据包结合取得该事务可见的数据版本;修改存储区回收算法负责回收过期的修改存储区数据,以确保修改存储区的空间不会过大,当系统中所有活跃事务的系统更改号都大于某条修改记录的系统更改号时,那么这条修改记录就被认为是过期的,修改存储区回收算法通过扫描修改存储区获得所有过期的修改记录,并把修改记录的修改内容反映到数据包中,然后删除过期的修改记录。
查询处理算法具体地可以分为只读查询处理算法,插入查询处理算法,删除查询处理算法以及更新查询处理算法。只读查询处理算法通过索引模块找到数据所在的数据包,接着通过可见性判断算法确认是否能够访问这个数据包,然后通过版本构造算法构造出自己能够看到的数据版本,最后读取这些数据;插入查询处理算法通过数据缓存模块在数据缓存区中插入数据和数据所对应的版本信息;删除查询处理算法首先通过索引模块找到需要被删除数据所在的数据包,接着通过修改存储区模块找到这个数据包所对应的修改记录链表,然后在这个链表中增加一条本事务的修改记录,该记录包含本事务删除了该数据包中的哪些行以及事务的版本信息。更新查询处理算法通过先删除后插入的操作实现,这样能够避免对数据包内数据的修改,使处理流程简化,提高系统性能。
在整体架构的基础上,通过查询处理算法和版本处理算法,本发明完美地实现了一个多版本存储引擎,这个存储引擎架构简洁鲁棒,算法快速高效,用最小的存储和维护代价实现了多版本控制技术,提高了数据库系统的并发度,为数据库系统的性能带来了极大的提升,具有的有益效果是:
1)通过实现这个多版本存储引擎,使神通kstore数据库系统支持了多版本并发控制技术,提高了数据库系统的并发度,提升了数据库系统的性能。
2)设计了一个简洁鲁棒的存储架构,能够高效地存储多版本数据,并减少多版本数据的维护代价,以优化数据库系统的性能。
3)实现了一组高效的查询处理算法,这些算法能够快速准确地完成各种查询任务,实现高性能的多版本数据库系统查询处理。
4)实现了一组快速有效的版本信息处理算法,这些算法能够快速地处理数据的版本信息,为查询处理提供高效的服务,并且能够准确地回收修改存储区的存储空间,有效节约多版本数据库系统的存储空间。
5)解决了数据库系统在大量事务并发处理中的性能瓶颈,使得读事务与读事务,读事务与写事务之间不再会出现冲突,只有写事务与写事务之间才可能存在冲动,极大地提高了数据库系统能够支持的并发事务数目,构建出一个高并发,高性能的数据库系统。
本发明虽然是针对神通kstore数据库设计的多版本存储引擎,但是其存储架构和优化算法也适用于其他数据库系统,具有充分的可移植性。
附图说明
图1是多版本存储引擎整体框架图;
图2是版本构造算法的工作流程图;
图3是可见性判断算法的工作流程图;
图4是修改存储区回收算法的工作流程图;
图5是只读查询处理算法的工作流程图;
图6是插入查询处理算法的工作流程图;
图7是删除查询处理算法的工作流程图。
具体实施方式
下面结合附图及具体实施方式对本发明作进一步的描述:
如图1所示,给出了多版本存储引擎整体框架图。在这个多版本存储引擎整体构架中,包含数据存储模块,索引模块,数据缓存模块以及修改存储区模块。数据存储模块负责存储压缩后的数据包并记录创建这个数据包的事务的系统更改号;索引模块负责创建,存储以及处理所有数据的知识网格索引信息,加速查询处理;数据缓存模块负责存储一些小规模的插入数据已经产生这些数据的事务的系统更改号,当存储的数据达到一定规模后(比如一万行)就把数据压缩成数据包,并交给数据存储模块处理;修改存储区模块记录事务对数据包的修改记录,每个数据包的修改记录用一个链表串起来存储,每条修改记录中包含修改的内容和所属事务的系统更改号。这些模块紧密联系,相互合作,构成这个多版本存储引擎的整体架构,是实现多版本并发控制技术的基础。
有了整体架构之后,为了实现多版本存储引擎,还需要高效的多版本查询处理算法和版本信息处理算法。查询处理算法主要负责处理用户对数据的查询,插入和删除等操作,版本信息处理算法主要负责处理数据的版本信息,构造属于某个系统更改号的版本,数据的可见性判断以及修改存储区空间的回收。
如图2所示,给出了版本构造算法的工作流程图,其详细描述如下:
201当需要构造数据的版本时,算法首先取得要构造版本的事务的系统更改号。
202从修改记录存储区中取得该数据包的所有修改记录。
203通过可见性判断算法,判断修改记录对该事务是否可见。
204如果修改记录可见,就把修改记录的内容应用到数据中。
205如果修改记录不可见,则直接丢弃该修改记录。
如图3所示,给出了可见性判断算法的工作流程图,其详细描述如下:
301判断该修改记录的系统更改号是否小于等于要构造版本的事物的系统更改号,小于的话修改记录产生于事物开始之前,所以可见,等于的话,该修改记录是事物自己的修改记录,所以也可见。
302修改记录可见。
303修改记录不可见。
如图4所示,给出了修改存储区回收算法的工作流程图,其详细描述如下:
401当要回收某段修改存储区时,算法首先取得该段修改存储区内的所有修改记录。
402判断这些修改记录的系统更改号是否都小于所有活跃事物的系统更改号。
403判断成立,该段修改存储区可以回收,将这些修改记录的修改内容反应到数据中,并删除该段存储区。
404判断不成立,该段修改存储区不能被回收。
如图5所示,给出了只读查询处理算法的工作流程图,其详细描述如下:
501算法通过索引模块取得数据所在的数据包。
502通过可见性判断算法,确定该数据包是否可见。
503如果数据包可见,通过版本构造算法构造出可见的数据版本,并据此访问数据。
504如果数据包不可见,则跳过该数据包。
如图6所示,给出了插入查询处理算法的工作流程图,其详细描述如下:
601算法首先在数据缓存区中插入该行数据和数据所对应的版本信息。
602判断数据缓冲区是否已满。
603如果数据缓存区已满,则把缓冲区打包压缩成数据包,并清空缓冲区。
如图7所示,给出了删除查询处理算法的工作流程图,其详细描述如下:
701算法通过索引模块取得要删除数据所在的数据包。
702取得该数据包在修改存储区中的修改记录链表。
703把要删除的数据和删除事物的版本信息组成一条修改记录,把这条修改记录加入到修改记录链表中。
虽然附图和前述说明给出了本发明的实施例。但可以理解的是,本领域技术人员将理解可以将这种组件中的一个或多个组件很好地组合成单个功能组件。在替换方案中,特定的组件可以分成多个功能组件,或反之。同时,本发明的范围并不受这些特定实例的限制。多种变化都是可能的,例如结构等上的差异,而无论其是否在说明书中被清晰地给出。本发明的范围至少与所附权利要求给出的范围一样宽。
Claims (7)
1.一种用于海量存储查询专用数据库的多版本存储引擎系统,所述存储引擎系统包括:数据存储模块,用于存储压缩数据包;
索引模块,用于存储和处理知识网格索引;
数据缓存模块,用于存储插入数据;和
修改存储区模块,用于存储事务对数据包的修改记录;
其特征在于:将数据分块压缩成数据包存储,将数据的版本信息和修改记录存储在一个修改存储区中。
2.根据权利要求1所述的多版本存储引擎系统,其特征还在于:
数据在底层通过分块压缩存储,以特定行数的数据被作为一个数据块,经过压缩后存储成一个数据包,并且通过在所有数据包上建立知识网格索引来实现对数据的快速查询。
3.根据权利要求2所述的多版本存储引擎系统,其特征还在于:所述特定行数用户可以自行设定,默认为一万行。
4.根据权利要求1-3中任意一个的多版本存储引擎系统,其特征还在于:所述多版本存储引擎系统能实现数据包级别的多版本,并且采用系统更改号来作为数据的版本信息;其中,每个事务都会有一个对应的唯一的系统更改号,事务根据数据上的系统更改号来判断是否能够访问该数据。
5.根据权利要求1-3中任意一个的多版本存储引擎系统,其特征还在于:使用一个修改存储区来存储修改记录,在这个修改存储区里记录所有曾经对这个数据包进行过修改的事务的系统更改号以及修改内容。
6.一种用于权利1-3中任意一个的多版本存储引擎系统的信息处理的实现方法,所述实现方法包括:可见性判断算法,版本构造算法以及修改存储区回收算法;其中首先,使用可见性判断算法,确定一个数据包或者修改记录对于某个事务是否可见,一个事务可以看到系统更改号比自己的系统更改号小的数据包或者修改记录,以及事务自己产生的数据包或者修改记录;
其次,使用版本构造算法,根据需要构造出数据的当前版本或者某个历史版本,首先取得要构造版本的事务的系统更改号,然后遍历修改存储区中的修改记录链表并通过可见性判断算法取得该系统更改号能够访问的修改记录,最后把这些修改记录和原始数据包结合取得该事务可见的数据版本;
最后,使用修改存储区回收算法,回收过期的修改存储区数据,以确保修改存储区的空间不会过大,其中,当系统中所有活跃事务的系统更改号都大于某条修改记录的系统更改号时,那么这条修改记录就被认为是过期的,修改存储区回收算法通过扫描修改存储区获得所有过期的修改记录,并把修改记录的修改内容反映到数据包中,然后删除过期的修改记录。
7. 一种用于权利1-3中任意一个的多版本存储引擎系统的查询处理的实现方法,所述方法包括:只读查询处理算法,插入查询处理算法,删除查询处理算法以及更新查询处理算法,其中:
只读查询处理算法通过索引模块找到数据所在的数据包,接着通过可见性判断算法确认是否能够访问这个数据包,然后通过版本构造算法构造出自己能够看到的数据版本,最后读取这些数据;
插入查询处理算法通过数据缓存模块在数据缓存区中插入数据和数据所对应的版本信息;
删除查询处理算法首先通过索引模块找到需要被删除数据所在的数据包,接着通过修改存储区模块找到这个数据包所对应的修改记录链表,然后在这个链表中增加一条本事务的修改记录,该记录包含本事务删除了该数据包中的哪些行以及事务的版本信息;
更新查询处理算法通过先删除后插入的操作实现,从而避免对数据包内数据的修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210209343XA CN102750376A (zh) | 2012-06-25 | 2012-06-25 | 一种多版本数据库存储引擎系统及其相关处理的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210209343XA CN102750376A (zh) | 2012-06-25 | 2012-06-25 | 一种多版本数据库存储引擎系统及其相关处理的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102750376A true CN102750376A (zh) | 2012-10-24 |
Family
ID=47030561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210209343XA Pending CN102750376A (zh) | 2012-06-25 | 2012-06-25 | 一种多版本数据库存储引擎系统及其相关处理的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750376A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015144004A3 (en) * | 2014-03-28 | 2015-11-26 | Huawei Technologies Co., Ltd. | Efficient methods and systems for consistent read in record-based multi-version concurrency control |
CN105488167A (zh) * | 2015-11-30 | 2016-04-13 | 北京金山安全软件有限公司 | 一种索引库更新方法及装置 |
CN105989195A (zh) * | 2015-03-23 | 2016-10-05 | 国际商业机器公司 | 用于处理数据库数据的方法和系统 |
CN108431780A (zh) * | 2016-01-19 | 2018-08-21 | 微软技术许可有限责任公司 | 使用重启时代的版本化记录管理 |
CN111259004A (zh) * | 2020-01-08 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种存储引擎中数据索引的方法以及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127045A (zh) * | 2007-09-25 | 2008-02-20 | 中兴通讯股份有限公司 | 数据库可重复读实现方法、装置及数据库管理系统 |
CN101567805A (zh) * | 2009-05-22 | 2009-10-28 | 清华大学 | 并行文件系统发生故障后的恢复方法 |
US20110153566A1 (en) * | 2009-12-18 | 2011-06-23 | Microsoft Corporation | Optimistic serializable snapshot isolation |
CN102402617A (zh) * | 2011-12-23 | 2012-04-04 | 天津神舟通用数据技术有限公司 | 一种利用分片及稀疏位图的易压缩数据库索引存储系统及其相应的构建、调度和查询处理方法 |
-
2012
- 2012-06-25 CN CN201210209343XA patent/CN102750376A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127045A (zh) * | 2007-09-25 | 2008-02-20 | 中兴通讯股份有限公司 | 数据库可重复读实现方法、装置及数据库管理系统 |
CN101567805A (zh) * | 2009-05-22 | 2009-10-28 | 清华大学 | 并行文件系统发生故障后的恢复方法 |
US20110153566A1 (en) * | 2009-12-18 | 2011-06-23 | Microsoft Corporation | Optimistic serializable snapshot isolation |
CN102402617A (zh) * | 2011-12-23 | 2012-04-04 | 天津神舟通用数据技术有限公司 | 一种利用分片及稀疏位图的易压缩数据库索引存储系统及其相应的构建、调度和查询处理方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015144004A3 (en) * | 2014-03-28 | 2015-11-26 | Huawei Technologies Co., Ltd. | Efficient methods and systems for consistent read in record-based multi-version concurrency control |
US10706036B2 (en) | 2014-03-28 | 2020-07-07 | Futurewei Technologies, Inc. | Systems and methods to optimize multi-version support in indexes |
US9430274B2 (en) | 2014-03-28 | 2016-08-30 | Futurewei Technologies, Inc. | Efficient methods and systems for consistent read in record-based multi-version concurrency control |
CN106462592B (zh) * | 2014-03-28 | 2020-03-10 | 华为技术有限公司 | 优化对索引的多版本支持的系统和方法 |
CN106462592A (zh) * | 2014-03-28 | 2017-02-22 | 华为技术有限公司 | 优化对索引的多版本支持的系统和方法 |
US9645844B2 (en) | 2014-03-28 | 2017-05-09 | Futurewei Technologies, Inc. | Systems and methods to optimize multi-version support in indexes |
CN105989195B (zh) * | 2015-03-23 | 2019-09-13 | 国际商业机器公司 | 用于处理数据库数据的方法和系统 |
US10262013B2 (en) | 2015-03-23 | 2019-04-16 | International Business Machines Corporation | Efficient full delete operations |
CN105989195A (zh) * | 2015-03-23 | 2016-10-05 | 国际商业机器公司 | 用于处理数据库数据的方法和系统 |
CN105488167A (zh) * | 2015-11-30 | 2016-04-13 | 北京金山安全软件有限公司 | 一种索引库更新方法及装置 |
CN108431780A (zh) * | 2016-01-19 | 2018-08-21 | 微软技术许可有限责任公司 | 使用重启时代的版本化记录管理 |
CN108431780B (zh) * | 2016-01-19 | 2022-03-04 | 微软技术许可有限责任公司 | 版本化记录管理计算系统、方法和计算机可读存储设备 |
CN111259004A (zh) * | 2020-01-08 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种存储引擎中数据索引的方法以及相关装置 |
WO2021139376A1 (zh) * | 2020-01-08 | 2021-07-15 | 腾讯科技(深圳)有限公司 | 一种存储引擎中数据索引的方法以及相关装置 |
CN111259004B (zh) * | 2020-01-08 | 2023-04-14 | 腾讯科技(深圳)有限公司 | 一种存储引擎中数据索引的方法以及相关装置 |
US11868330B2 (en) | 2020-01-08 | 2024-01-09 | Tencent Technology (Shenzhen) Company Limited | Method for indexing data in storage engine and related apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11288252B2 (en) | Transactional key-value store | |
CN100562874C (zh) | 一种增量数据捕获方法和系统 | |
US11023453B2 (en) | Hash index | |
CN102122285B (zh) | 一种数据缓存系统中的数据查询系统和数据查询方法 | |
US7028022B1 (en) | Heuristic-based conditional data indexing | |
CN101354726B (zh) | 一种机群文件系统的内存元数据管理方法 | |
US20180011892A1 (en) | Foster twin data structure | |
US20170351543A1 (en) | Heap data structure | |
CN102750376A (zh) | 一种多版本数据库存储引擎系统及其相关处理的实现方法 | |
CN104866608A (zh) | 一种数据仓库中基于连接索引的查询优化方法 | |
US11100083B2 (en) | Read only bufferpool | |
CN103577339A (zh) | 一种数据存储方法及系统 | |
US11275759B2 (en) | Data storage method and apparatus, server, and storage medium | |
CN102163232B (zh) | 一种支持iec61850对象查询的sql接口实现方法 | |
CN101799783A (zh) | 一种数据存储处理方法、查找方法及其装置 | |
CN102890722A (zh) | 应用于时序历史数据库的索引方法 | |
Sadoghi et al. | Making updates disk-I/O friendly using SSDs | |
CN110389942A (zh) | 一种无垃圾回收的键值分离存储方法和系统 | |
CN102982186B (zh) | 基于oracle数据库系统的range分区表的维护方法和系统 | |
CN106326387A (zh) | 一种分布式数据存储架构及数据存储方法和数据查询方法 | |
CN102411632A (zh) | 基于链表的内存数据库页式存储方法 | |
CN103207866A (zh) | 一种基于分块策略的文件存储方法及系统 | |
CN103399915A (zh) | 一种搜索引擎索引文件的优化读取方法 | |
CN109213760B (zh) | 非关系数据存储的高负载业务存储及检索方法 | |
Hu et al. | Dualtable: A hybrid storage model for update optimization in hive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121024 |