CN105183915B - 减少索引维护开销的多版本管理方法 - Google Patents
减少索引维护开销的多版本管理方法 Download PDFInfo
- Publication number
- CN105183915B CN105183915B CN201510664805.0A CN201510664805A CN105183915B CN 105183915 B CN105183915 B CN 105183915B CN 201510664805 A CN201510664805 A CN 201510664805A CN 105183915 B CN105183915 B CN 105183915B
- Authority
- CN
- China
- Prior art keywords
- record
- version
- physics
- logic
- index
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种减少索引维护开销的多版本管理方法,在数据库表格中存放记录的不同版本,数据库系统提取存放记录的物理ID;所述数据库表格中设有一个以上的索引,赋予每个记录一个逻辑ID,索引的叶子节点保存记录的逻辑ID;建立逻辑ID到物理ID的映射表,同时维护逻辑ID到物理ID的映射表。本发明简化了索引的维护开销,提高事务处理的吞吐量。
Description
技术领域
本发明涉及一种减少索引维护开销的多版本管理方法,属于数据库管理技术领域。
背景技术
数据库的并发控制,其目的是在多个用户同时存取同一个数据对象时,协调这些操作,保证数据的一致性。比如一个账户的余额是100,用户a读取余额,增加10元,写入新则值为110。在用户a读取账户余额后,用户b也读取该余额,为100元,他增加20元,在用户a写入110元后,用户b写入120元。最终余额为120元,这是一个错误的值。正确的值应该为130元。并发控制的目的,就是协调上述用户对数据的操作,保证数据的一致性。
并发控制方法有两类,一类是加锁机制,事务(用户发起的任务)在读取数据之前,加读锁(Read Lock),在写入数据之前加写锁(Write Lock)。如果数据上已经有读锁,可以在其上加新的读锁,但是不能加写锁。如果数据上已经有写锁,则新的写锁和读锁都不能加在数据上。通过加锁,可以实现不同用户对同一数据对象的操作。并发控制的另外一类技术是多版本管理,读事务读取最近的某个数据对象的提交版本,而写事务则写入一个新版本,等到事务提交的时候,新版本成为新的最近提交的版本,固化下来。多版本管理机制,解除了读写事务之间的冲突,有利于提高系统的并发度,即同一时间执行的事务的数量,或者吞吐能力。但是需要付出版本管理的空间开销,在目前存储空间富裕的情况下,这个代价是值得的。
现有的多版本管理方法,一般在数据库表格文件中存放记录的不同版本,这些版本用链表链接起来。如果这个数据库表格有若干个索引,比如基于用户ID字段的索引、基于日期字段的索引等,这些索引一般采用B+树形式,支持事务处理,以及支持点查询和范围查询。索引树的叶子节点通过记录ID(Row ID)连接到数据文件的具体记录,然后通过链表可以访问数据的所有的版本。
如果一个表格拥有若干索引,对表格进行数据增删改的时候,这些索引都需要进行维护,即进行相应的修改,需要付出时间开销,从而降低系统的事务吞吐能力。
发明内容
本发明针对上述问题的不足,提出一种减少索引维护开销的多版本管理方法,该方法简化了索引的维护开销,提高事务处理的吞吐量。
本发明为解决上述技术问题提出的技术方案是:
一种减少索引维护开销的多版本管理方法,在数据库表格中存放记录的不同版本,数据库系统提取存放记录的物理ID;所述数据库表格中设有一个以上的索引,赋予每个记录一个逻辑ID,索引的叶子节点保存记录的逻辑ID;建立逻辑ID到物理ID的映射表,同时维护逻辑ID到物理ID的映射表:
当更新一个记录的时候,在数据库表格中生成新的一个记录,链表指向新记录的物理ID;同时,映射表做相应的更新,把更新前相应的记录的逻辑ID映射到新记录的物理ID;
当一个记录被删除,映射表里的该记录对应的逻辑ID到物理ID的映射条目被删除;在进行索引扫描时,通过索引找到具体的数据记录,由于映射表没有这样的映射,所以删除的记录将不被检索到;而索引叶节点上的无效的逻辑ID可以在访问该索引的时候,再进行删除;对于删除以后,就从来没有被访问过的记录,需要一个脱机的处理过程,统一地把索引里面,没有出现在映射表中的逻辑ID全部删除掉;
当增加一个记录的时候,记录增加到数据库表格的末尾,数据库系统提取其物理ID,同时对该记录赋予一个新的逻辑ID,该物理ID和新的逻辑ID进行关联,加入到映射表;除了更新映射表的条目,所有的索引都需要用新的逻辑ID进行更新;
在进行索引扫描的时候,通过索引访问数据库表格时,需要根据映射表,把逻辑ID转换成物理ID,然后根据物理ID找到其对应的记录;如果物理ID为空、或者映射表没有该逻辑ID的条目,则表明某个记录已经被删除,扫描过程忽略这样的记录即可。
所述索引包括基于用户ID字段的索引、基于日期字段的索引。
优选的:所述索引采用B+树形式;所述B+树的阶数为k(K>=3),树形结构的内部节点包括分割键值key和指向子节点的指针。
优选的:所述映射表中记录逻辑ID、最近提交的版本的物理ID、最近未提交的版本的物理ID、下一个历史提交版本的指针。
优选的:所述映射表带有一个辅助数据结构,以链条的方式保存记录的历史提交版本。
优选的:对当前已经提交的版本读写数据的方法:
对当前已经提交的版本读数据的时候,在当前已经提交的版本上加读锁,当前提交版本通过从映射表的最近已经提交版本物理ID进行提取即可,该ID可以直接用于找到记录的确切的物理位置;
对当前已经提交的版本写数据的时候,对当前已经提交的版本上加写锁,生成新的一个未提交的版本;
对当前已经提交的版本确认写入,进行事务收尾工作时,首先对记录施加一个确认锁,只需把写锁进行升级就可以了;
事务提交时,新提交的记录版本成为最近提交的版本,所有的读锁、写锁释放掉,历史提交版本被迁移到历史版本缓冲区,缓冲区需要保存记录的物理ID和链接关系,新提交的记录版本保存在数据文件中。
本发明的一种减少索引维护开销的多版本管理方法,相比现有技术,具有以下有益效果:
(1)利用记录的逻辑ID到物理ID的映射关系,把索引和记录的物理表示进行解耦(Decouple),简化对数据库表格进行增删改等操作时,需要对索引进行的维护操作,从而提高事务处理的吞吐量。
(2)围绕上述映射关系设计的并发控制方法,不仅提供了读取未提交数据(Uncommitted)、读取提交数据(Committed)、可以重复读(Repeatable Read)等重要的事务隔离级别,而且通过解除读事务和写事务的等待关系(在加锁机制中,一个事务对数据进行写入,另外一个事务是不能进行读取的),极大提高事务吞吐能力。。
附图说明
图1是本发明B+树的结构示意图;
图2为本发明映射关系示意图;
其中,空白圆圈表示逻辑ID,横纹圆圈表示物理ID(最近提交),竖纹圆圈表示物理ID(最近未提交),斜纹圆圈、反斜纹圆圈表示各历史提交版本。而方形则表示数据文件里的具体的记录。
具体实施方式
附图非限制性地公开了本发明一个优选实施例的结构示意图,以下将结合附图详细地说明本发明的技术方案。
实施例
一种减少索引维护开销的多版本管理方法,在数据库表格中存放记录的不同版本,数据库系统提取存放记录的物理ID;所述数据库表格中设有一个以上的索引,赋予每个记录一个逻辑ID,索引的叶子节点保存记录的逻辑ID;所述索引包括基于用户ID字段的索引、基于日期字段的索引。所述索引采用B+树形式;所述B+树的阶数为K(K>=3),树形结构的内部节点包括分割键值key和指向子节点的指针。建立逻辑ID到物理ID的映射表,同时维护逻辑ID到物理ID的映射表。所述映射表中记录逻辑ID、最近提交的版本的物理ID、最近未提交的版本的物理ID、下一个历史提交版本的指针。所述映射表带有一个辅助数据结构,以链条的方式保存记录的历史提交版本。
当更新一个记录的时候,在数据库表格中生成新的一个记录,链表内得到新记录的物理ID;同时,映射表做相应的更新,把更新前相应的记录的逻辑ID映射到新记录的物理ID;
当一个记录被删除,映射表里的该记录对应的逻辑ID到物理ID的映射条目被删除;在进行索引扫描时,通过索引找到具体的数据记录,由于映射表没有这样的映射,所以删除的记录将不被检索到;而索引叶节点上的无效的逻辑ID可以在访问该索引的时候,再进行删除;对于删除以后,就从来没有被访问过的记录,需要一个脱机的处理过程,统一地把索引里面,没有出现在映射表中的逻辑ID全部删除掉;
当增加一个记录的时候,记录增加到数据库表格的末尾,数据库系统提取其物理ID,同时对该记录赋予一个新的逻辑ID,该物理ID和新的逻辑ID进行关联,加入到映射表;除了更新映射表的条目,所有的索引都需要用新的逻辑ID进行更新;
在进行索引扫描的时候,通过索引访问数据库表格时,需要根据映射表,把逻辑ID转换成物理ID,然后根据物理ID找到其对应的记录;如果物理ID为空、或者映射表没有该逻辑ID的条目,则表明某个记录已经被删除,扫描过程忽略这样的记录即可。
对当前已经提交的版本读写数据的方法:
对当前已经提交的版本读数据的时候,在当前已经提交的版本上加读锁,当前提交版本通过从映射表的最近已经提交版本物理ID进行提取即可,该ID可以直接用于找到记录的确切的物理位置;
对当前已经提交的版本写数据的时候,对当前已经提交的版本上加写锁,生成新的一个未提交的版本;
对当前已经提交的版本确认写入,进行事务收尾工作时,首先对记录施加一个确认锁,只需把写锁进行升级就可以了;
事务提交时,新提交的记录版本成为最近提交的版本,所有的读锁、写锁释放掉,历史提交版本被迁移到历史版本缓冲区,缓冲区需要保存记录的物理ID和链接关系,新提交的记录版本保存在数据文件中。
本发明的创新点在于,赋予每个记录一个逻辑ID,索引的叶子节点保存记录的逻辑ID,我们同时维护一个记录的逻辑ID到物理ID的映射表。这个映射关系大大简化了索引的维护开销,我们同时给出基于该映射关系的多版本并发控制机制,提供事务的正确执行方法。
我们所采用的索引的数据结构基于普通的B+树。为了说明我们的发明涉及的主要操作步骤,我们首先介绍B+树的基本原理。假设有一个用户表,包含若干用户记录,每个记录包括用户ID、用户姓名、用户性别、出生年月等信息。现在,要在用户ID字段上建立索引。假设目前表格中的用户ID有7、16、25、34、43、62、72、87、96等,那么建立的索引,如图1所示。该B+树的阶数为3,即每个节点有最多3个子节点。
该树形结构的内部节点包括分割键值key和指向子节点的指针。比如根节点的30和70表示分割用的键值,30左边的指针指向的左子树,其记录的用户ID都比30小;30和70之间的指针所指向的子树,其记录的用户ID比30大,比70小;而70右边的指针指向的右子树,其记录的用户ID比70大。以此类推。
叶子节点则指向具体的用户记录,一般是记录ID(Row ID)。在图1中着色为灰色的节点为叶子节点,包含记录的物理地址信息,可以通过它直接在数据文件里找到真正的记录。
对于数据库表格的所有记录,分配一个逻辑ID,而对于记录的不同版本,分配一个物理ID,并且建立从逻辑ID到物理ID的映射表。
在上述标准B+树的基础上,我们进行如下扩充(如图2所示),在叶子节点上,保存每个记录的逻辑ID。同时在映射表中,记录逻辑ID、物理ID(最近提交的版本)、物理ID(最近未提交的版本)、下一个历史提交版本的指针。映射表带一个辅助数据结构,以链条的方式保存某个记录的历史提交版本,以便为运行时间较长的事务,读取较老的历史版本的要求。
由于在标准的B+树的叶子节点上,只是把物理ID替换成了逻辑ID,所以在图2中,我们不绘制详细的B+树,而是详细绘制映射表和历史提交版本缓存。以用户ID为7的用户记录为例,B+树索引的叶子节点保存了ID为7的用户记录的逻辑ID,通过映射表,我们找到了ID为7的用户记录对应的最近提交的版本、最近未提交版本、以及各个历史记录。
在上述数据结构基础上,当发生数据的增删改时,索引的维护方法如下:
(1)当更新一个记录的时候,在数据文件生成新的一个记录。同时,映射表做相应的更新,把记录的逻辑ID映射到新记录的物理ID。索引的叶节点无需做出更改。
(2)当一个记录被删除,映射表里的相关映射,即逻辑ID到物理ID的映射条目,被删除。在进行索引扫描时,即通过索引找到具体的数据记录(表格的某行时),由于映射表没有这样的映射,所以删除的记录将不被检索到。而索引叶节点上的无效的逻辑ID可以在访问该索引的时候,再进行删除,也就是从叶节点删除该逻辑ID,这是一种索引的延后更新(Lazy Update)。
对于删除以后,就从来没有被访问过的记录,需要一个脱机(Offline)的处理过程,统一地把索引里面,没有出现在映射表中的逻辑ID全部删除掉。
(3)当增加一个记录的时候,记录增加到数据库表格的末尾,系统提取其物理ID,并且和一个新的逻辑ID进行关联,加入映射表。除了更新映射表的条目,所有的索引都需要用新的逻辑ID进行更新。
(4)在进行索引扫描的时候,即通过索引访问数据库表时,需要根据映射表,把逻辑ID转换成物理ID,然后根据物理ID找到真正的记录。如果物理ID为空、或者映射表没有该逻辑ID的条目,则表明某个记录已经被删除,扫描过程忽略这样的记录即可。
为了保证并发的正确性和数据的一致性,并发控制方法如下,其主要的特点是,写事务在提交之前确认数据是可以写入的:
(1)读数据的时候,在数据上(当前已经提交的版本)加读锁Read Lock,当前提交版本从映射表的最近已经提交版本物理ID进行提取即可,该ID可以直接用于找到记录的确切的物理位置。
(2)读数据的时候,对该记录加写锁Write Lock,生成新的一个未提交的版本。由于只有一个写事务可以对一个记录进行写入,所以只需要维护一个最近未提交版本即可。
(3)确认写入,进行事务收尾工作时(Finalize),首先对记录施加一个确认锁Validate Lock,只需把写锁进行升级(Promotion)就可以了。目的是保证没有其他的事务同时存取本记录的当前值,这些事务需要可重复读(Repeatable read)的、或者更高的事务隔离保证。
(4)事务提交时,新提交的记录版本成为最近提交的版本,所有的读锁、写锁释放掉。历史提交版本被迁移到历史版本缓冲区,缓冲区需要保存记录的物理ID和链接关系,真正的记录保存在数据文件中。
历史版本的保留,目的是保证执行时间比较长的事务(Long RunningTransaction),可以访问到它启动时的最新的提交版本,不一定是后续事务修改的最新提交版本。这些版本随着长事务的不断结束,可以不断回收,于是缓冲区可以重复使用。
本发明具体流程如下:
(1)创建映射表:建立逻辑ID到物理ID的映射表。
(2)创建索引:扫描数据库表格数据,对于需要建立索引的字段,建立B+树索引。在B+树的叶子节点,保存记录的逻辑ID,并且通过映射表维护记录的逻辑ID、记录的物理ID(最近提交版本)、记录的物理ID(最近未提交版本)、下一个历史提交版本指针的映射信息。
(3)更新映射表和索引:当数据库表格发生增删改等操作,需要对索引进行维护,对该表格上的所有索引,根据操作的性质进行映射表的更新,以及进行索引的更新。
(4)协调读写事务的正确执行:事务分成读事务、和写事务。利用加锁操作和版本管理,实现读写事务的并发执行,并保证数据的一致性。
上面结合附图所描述的本发明优选具体实施例仅用于说明本发明的实施方式,而不是作为对前述发明目的和所附权利要求内容和范围的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均仍属本发明技术和权利保护范畴。
Claims (6)
1.一种减少索引维护开销的多版本管理方法,其特征在于:在数据库表格中存放记录的不同版本,数据库系统提取存放记录的物理ID;所述数据库表格中设有一个以上的索引,赋予每个记录一个逻辑ID,索引的叶子节点保存记录的逻辑ID;建立逻辑ID到物理ID的映射表,同时维护逻辑ID到物理ID的映射表:
当更新一个记录的时候,在数据库表格中生成新的一个记录,链表指向新记录的物理ID;同时,映射表做相应的更新,把更新前相应的记录的逻辑ID映射到新记录的物理ID;
当一个记录被删除,映射表里的该记录对应的逻辑ID到物理ID的映射条目被删除;在进行索引扫描时,通过索引找到具体的数据记录,由于映射表没有这样的映射,所以删除的记录将不被检索到;而索引叶节点上的无效的逻辑ID在访问该索引的时候删除;对于删除以后,就从来没有被访问过的记录,需要一个脱机的处理过程,统一地把索引里面,没有出现在映射表中的逻辑ID全部删除掉;
当增加一个记录的时候,记录增加到数据库表格的末尾,数据库系统提取其物理ID,同时对该记录赋予一个新的逻辑ID,该物理ID和新的逻辑ID进行关联,加入到映射表;除了更新映射表的条目,所有的索引都需要用新的逻辑ID进行更新;
在进行索引扫描的时候,通过索引访问数据库表格时,需要根据映射表,把逻辑ID转换成物理ID,然后根据物理ID找到其对应的记录;如果物理ID为空、或者映射表没有该逻辑ID的条目,则表明某个记录已经被删除,扫描过程忽略这样的记录即可。
2.根据权利要求1所述的减少索引维护开销的多版本管理方法,其特征在于:所述索引包括基于用户ID字段的索引、基于日期字段的索引。
3.根据权利要求1所述的减少索引维护开销的多版本管理方法,其特征在于:所述索引采用B+树形式;所述B+树的阶数为k,其中,K>=3,树形结构的内部节点包括分割键值key和指向子节点的指针。
4.根据权利要求1所述的减少索引维护开销的多版本管理方法,其特征在于:所述映射表中记录逻辑ID、最近提交的版本的物理ID、最近未提交的版本的物理ID、下一个历史提交版本的指针。
5.根据权利要求1所述的减少索引维护开销的多版本管理方法,其特征在于:所述映射表带有一个辅助数据结构,以链条的方式保存记录的历史提交版本。
6.根据权利要求1所述的减少索引维护开销的多版本管理方法,其特征在于:对当前已经提交的版本读写数据的方法:
对当前已经提交的版本读数据的时候,在当前已经提交的版本上加读锁,当前提交版本通过从映射表的最近已经提交版本物理ID进行提取即可,该ID可以直接用于找到记录的确切的物理位置;
对当前已经提交的版本写数据的时候,对当前已经提交的版本上加写锁,生成新的一个未提交的版本;
对当前已经提交的版本确认写入,进行事务收尾工作时,首先对记录施加一个确认锁,只需把写锁进行升级就可以了;
事务提交时,新提交的记录版本成为最近提交的版本,所有的读锁、写锁释放掉,历史提交版本被迁移到历史版本缓冲区,缓冲区需要保存记录的物理ID和链接关系,新提交的记录版本保存在数据文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510664805.0A CN105183915B (zh) | 2015-10-14 | 2015-10-14 | 减少索引维护开销的多版本管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510664805.0A CN105183915B (zh) | 2015-10-14 | 2015-10-14 | 减少索引维护开销的多版本管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183915A CN105183915A (zh) | 2015-12-23 |
CN105183915B true CN105183915B (zh) | 2018-08-17 |
Family
ID=54905996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510664805.0A Active CN105183915B (zh) | 2015-10-14 | 2015-10-14 | 减少索引维护开销的多版本管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183915B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562648B (zh) * | 2016-07-01 | 2021-04-06 | 北京忆恒创源科技有限公司 | 无锁ftl访问方法与装置 |
CN108595678B (zh) * | 2018-05-02 | 2022-05-31 | 网易(杭州)网络有限公司 | 任务数据处理方法及装置、电子设备、存储介质 |
CN109299018B (zh) * | 2018-08-15 | 2023-12-29 | 深圳拓邦股份有限公司 | 一种Flash存储器中历史数据的读取方法及装置 |
CN109690522B (zh) * | 2018-08-27 | 2024-02-27 | 袁振南 | 一种基于b+树索引的数据更新方法、装置及存储装置 |
EP3627343A1 (en) * | 2018-09-19 | 2020-03-25 | censhare AG | Efficient in-memory multi-version concurrency control for a trie data structure based database |
CN109815240B (zh) * | 2019-01-29 | 2022-02-25 | 北京百度网讯科技有限公司 | 用于管理索引的方法、装置、设备和存储介质 |
CN112035554B (zh) * | 2020-09-21 | 2023-09-26 | 烟台云朵软件有限公司 | 一种结构化数据版本管理方法与系统 |
WO2022141650A1 (en) * | 2021-01-04 | 2022-07-07 | Alibaba Group Holding Limited | Memory-frugal index design in storage engine |
CN117436131B (zh) * | 2023-12-20 | 2024-04-05 | 临沂市中信信息技术有限公司 | 一种数据管理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162469A (zh) * | 2007-11-09 | 2008-04-16 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
CN104462258A (zh) * | 2014-11-21 | 2015-03-25 | 浙江中测新图地理信息技术有限公司 | 一种多版本的非结构化模型的组织管理方法 |
-
2015
- 2015-10-14 CN CN201510664805.0A patent/CN105183915B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162469A (zh) * | 2007-11-09 | 2008-04-16 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
CN104462258A (zh) * | 2014-11-21 | 2015-03-25 | 浙江中测新图地理信息技术有限公司 | 一种多版本的非结构化模型的组织管理方法 |
Non-Patent Citations (1)
Title |
---|
以B链树为索引的动态多版本数据库系统;包斌;《中国优秀硕士学位论文全文数据库-信息科技辑》;20061015(第2006年第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105183915A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183915B (zh) | 减少索引维护开销的多版本管理方法 | |
CN107391653B (zh) | 一种分布式NewSQL数据库系统及图片数据储存方法 | |
CN107273522B (zh) | 面向多应用的数据存储系统和数据调用方法 | |
US10262013B2 (en) | Efficient full delete operations | |
KR920000395B1 (ko) | 키 레코드 데이타 페칭 및 삽입, 삭제 방법 | |
CN106575297B (zh) | 使用盲更新操作的高吞吐量数据修改 | |
US11099771B2 (en) | System and method for early removal of tombstone records in database | |
US9268804B2 (en) | Managing a multi-version database | |
US9679003B2 (en) | Rendezvous-based optimistic concurrency control | |
US10733172B2 (en) | Method and computing device for minimizing accesses to data storage in conjunction with maintaining a B-tree | |
US8135688B2 (en) | Partition/table allocation on demand | |
CN103106286B (zh) | 元数据的管理方法和装置 | |
US9576038B1 (en) | Consistent query of local indexes | |
CN102473083A (zh) | 用于读取优化的批数据存储的设备和方法 | |
US10754854B2 (en) | Consistent query of local indexes | |
US8666981B2 (en) | Bottom-up optimistic latching method for index trees | |
US11321302B2 (en) | Computer system and database management method | |
CN104021145A (zh) | 一种混合业务并发访问的方法和装置 | |
CN102955792A (zh) | 一种实时全文搜索引擎事务处理的实现方法 | |
CN109408539B (zh) | 数据操作方法、装置、服务器和存储介质 | |
US9442837B2 (en) | Accelerating multiversion concurrency control using hardware transactional memory | |
US8001084B2 (en) | Memory allocator for optimistic data access | |
KR102214697B1 (ko) | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 | |
US10303680B2 (en) | Data processing apparatus and data processing method | |
CN115905259B (zh) | 一种支持行级并发控制的纯列式更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |