CN101587484B - 一种基于T-lt树的主存数据库的索引方法 - Google Patents
一种基于T-lt树的主存数据库的索引方法 Download PDFInfo
- Publication number
- CN101587484B CN101587484B CN2009100334143A CN200910033414A CN101587484B CN 101587484 B CN101587484 B CN 101587484B CN 2009100334143 A CN2009100334143 A CN 2009100334143A CN 200910033414 A CN200910033414 A CN 200910033414A CN 101587484 B CN101587484 B CN 101587484B
- Authority
- CN
- China
- Prior art keywords
- node
- scope
- tail
- tree
- pointer
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于T-lt树的主存数据库的索引方法,主要是针对T树的缺点进行改进,将T树的每个结点都增加一个直接指向此结点的后继结点的尾指针构成T-lt树,所述索引方法包括数据库查询操作、关键字插入操作、关键字删除操作三个步骤,T-lt树的结点结构比T结点多了一个尾指针,如果该结点有tail结点,则尾指针指向tail结点;如果没有tail结点,则尾指针指向直接后继结点。T-lt树的tail结点与T结点相比也多了一个指向直接后继结点的指针。本方法减少对树的遍历次数,减少树的旋转次数,能在主存数据库中提高查询效率,节省时空开销。
Description
技术领域
本发明涉及一种数据库索引方法,主要应用在基于主存的数据库管理系统中,属于计算机数据库领域。
背景技术
随着大容量内存越来越便宜,现在配置一台大内存的计算机也越来越容易。对数据库系统而言,已经有条件将数据库的“主版本”常驻内存,这样可使系统性能获得很大的改善,如I/O操作大量减少、事务的状态转换及其相联CPU高速缓存的替换大量减少、锁的竞争下降,更有效的内存查找结构和查询处理可以被使用等。
数据库的“主版本”或者整个数据库都常驻内存的数据库系统被称为主存数据库(MMDB,Main Memory Database)。由于内存系统与磁盘系统具有不同的特性,因而MMDB与磁盘数据库(DRDB,Disk-Resident Database)在性能、存储格式、尤其是查询处理等方面都有着比较大的差别。DRDB系统的“瓶颈”是磁盘I/O,故查询处理的优化策略主要是针对减少磁盘的存取次数的,并且尽量存储临时结果,以“空间”换“时间”。而在MMDB中,由于内存空间及其宝贵,其查询处理算法则要极力减少比较次数,并且尽量不存储临时结果,以“时间”换“空间”。在这样的前提下,原有的DRDB的索引结构对MMDB来说就不再适用了,研究新的适合MMDB的索引结构也就自然而然的成了研究者关注的问题。
传统的主存数据库主要采取以下几种索引机制:
(1)哈希索引机制:是一种通过哈希函数实现键值和记录地址快速映射,以提供高速随机访问的机制。使用哈希机制能实现快速查询,但它对空间的利用率不高,并且范围查询的效率也不高。
(2)平衡二叉树(AVL树)索引机制:AVL树本质上是一棵二叉树,采用二分查找法,查询速度很快。但AVL树上的更新操作经常导致树的不平衡,用于平衡旋转操作的时间开销过大。而且树的每个结点只能保存1个关键字用于比较,同时还要保存父结点指针、左右孩子结点指针、平衡因子等其他信息,故Cache利用率较低。
(3)B树索引机制:B树是一种适用于磁盘数据库管理系统的索引机制。B树的每个结点有多棵子树,且深度不大,查询速度较快,只需较少次数的磁盘I/O就可以找到目标数据。B树中的叶结点较多,由于叶结点没有子树指针,故指针相对数据的空间占用量很小,从而有利于提高内存空间的利用率。B树的一个变种B+树,则是一种平衡的多路查找树,已经在传统的磁盘数据库中得到了广泛的应用。由于B+树的非叶结点仅具有索引作用,与记录有关的信息均存放在叶结点中,因此会对存储空间造成一定的浪费。
(4)T树索引机制:是一种适用于主存数据库的有序数据索引机制,在大部分主存数据库系统中都有应用。它是由AVL树和B树演变而来,是一种在一个结点中存放多个元素的平衡二叉树。它保留有AVL树的二分搜索特性,同时具有B树的优良的存储性能。T树的每个结点可以保存多个关键字,因而提高了空间的利用率。但是,对T树结点的更新会导致树的不平衡,因此用于平衡旋转的开销还是比较大的。
现有的相关专利申请情况如下:
①海量数据内存数据库中快速定位的网格+T树索引的方法(申请日期:2006.02.20,公开号:CN1838124)。
②数据库索引的方法(申请日期:2008.05.30,公开号:CN101286160)。
相关的论文情况如下:
①R.Bayer and E.M.McCreight,Organization and maintenance of large orderedindexes,Acta Informatica,1972.
②Douglas Comer,The Ubiquitous B-Tree,Computing Surveys(CSUR),1979.
③TJ Lehman,MJ Carey.A Study of Index Structures for Main Memory DatabaseManagement Systems.Conference on Very Large Data Bases,1986:294~302.
其中专利②和论文①、②都是关于B树和B+树的索引机制,适用于基于磁盘的数据库索引机制,并不适用于主存数据库,在时空开销上类似于平衡二叉树;专利①和论文③都是关于T树的索引机制,虽然T树是基于主存的数据库的一种比较优秀的索引机制,但是,对T树结点的更新会导致树的不平衡,因此用于平衡旋转的开销还是比较大的。
发明内容
本发明的目的是提供一种用于主存数据库索引方法,该方法能在主存数据库中提高查询效率,节省时空开销。
本发明针对T树的缺点进行改进,提出了一种新的基于主存的索引结构,称之为T-lt树,T-lt树的结点结构(T-lt结点)比T结点多了一个尾指针,如果该结点有tail结点,则尾指针指向tail结点;如果没有tail结点,则指向直接后继结点。T-lt树的tail结点与T结点相比也多了一个指向直接后继结点的指针。
本发明为实现上述目的采用下面的技术方案:
本发明的基于T-lt树的主存数据库的索引方法,将T树的每个结点都增加一个直接指向此结点的后继结点的尾指针构成T-lt树,所述索引方法包括数据库查询操作、关键字插入操作、关键字删除操作三个步骤,其中:
(一)数据库查询操作步骤:
A、开始操作,设T-lt树根结点为当前结点;
B、判断当前结点是否为空,当结果为是,则结束操作,返回未搜索到;当结果为否,进入下一步骤;
C、判断搜索值是否小于当前结点的最小值,当结果为是,则设左子结点为当前结点,返回步骤B,继续进行搜索操作;当结果为否,进入下一步骤;
D、判断搜索值是否大于当前结点的最大值,当结果为是,则设右子结点为当前结点,返回步骤B,继续进行搜索操作;当结果为否,则进入下一步骤;
E、在当前结点和其tail结点中进行二分查找,结束操作,并返回搜索结果;
(二)关键字插入操作步骤:
F、开始操作,设T-lt树根结点为当前结点;重复上述(一)数据库查询操作步骤A~E,在E步骤中将当前结点作为范围结点;
G、判断是否找到范围结点,当没有找到范围结点,则将搜索路径中的最后一个结点作为范围结点,进入下一步骤;
H、当寻找到范围结点,继续判断该范围结点是否已满;
①、当该范围结点未满,判断该范围结点是否含有tail结点或者原始结点未满;
a、当结果为是,将待插入元素按一定的顺序插入范围结点,结束操作;
b、当结果为否,则在该范围结点中添加tail结点,使tail结点的尾指针指向原范围结点的后继结点,原范围结点的尾指针则指向该tail结点,然后将待插入值插入到新的范围结点中,结束操作;
②、当该范围结点已满,进行以下操作:
c、通过该范围结点的tail结点的后继指针找到其直接后继结点,然后将tail结点移出,作为其后继结点的左子结点,最后将待插入元素插入原范围结点或者新的子结点;
d、判断T-lt树是否失去平衡,当树失去平衡,则进行旋转操作使树平衡,然后结束操作;当T-lt树未失去平衡,则结束操作;
(三)关键字删除操作步骤:
I、开始操作,设T-lt树根结点为当前结点;重复上述(一)数据库查询操作步骤A~E,在E步骤中将当前结点作为范围结点;
J、判断是否找到范围结点,当没有找到范围结点,则操作失败退出;
K、当寻找到范围结点,在该范围结点内删除待删元素,判断删除元素是否会导致下溢;
(1)、如果在该范围结点内删除待删元素不会导致下溢,判断删除后是否会导致tail结点为空;
e、当判断结果不会导致tail结点为空,则结束操作;
f、当判断结果导致tail结点为空,则删除该tail结点,结束操作;
(2)、如果在该范围结点内删除待删元素会导致下溢,则判断该范围结点是否为内部结点;
g、如果该范围结点是一个内部结点,进行以下操作:
i通过该范围结点的后继指针找到其直接后继结点;
ii将后继结点的最小元素移入该范围结点中;
iii判断该后继结点是否为空,如果后继结点不为空,则直接进入下述L步骤;如果后继结点为空,则删除该后继结点后进入下述L步骤;
h、如果该范围结点不是一个内部结点,判断该范围结点是否为叶子结点:
iv当该范围结点不是叶子结点,则直接结束操作;
v当该范围结点是叶子结点,则判断进行删除操作后是否会导致该结点为空,如果该结点不为空,则直接进入下述L步骤;如果该结点为空,则删除该结点后进入下述L步骤;
L、判断T-lt树是否失去平衡,当树失去平衡,则进行旋转操作使树平衡,然后结束操作;当T-lt树未失去平衡,则结束操作。
相关说明:
(1)T-lt树:主要是针对T树的缺点进行改进,得到的一种新的基于主存的索引结构,T-lt树的结点结构(T-lt结点)比T结点多了一个尾指针,如果该结点有tail结点,则尾指针指向tail结点;如果没有tail结点,则尾指针指向直接后继结点。T-lt树的tail结点与T结点相比也多了一个指向直接后继结点的指针。
(2)T-lt结点:每个T-lt结点都包含一系列从小到大排序后的元素、控制信息和四个指针。指针分别指向父结点、左子树、右子树以及tail结点(存在tail结点)或者后继结点(不存在tail结点)。在T-lt结点的控制信息中包含平衡因子和结点当前的元素数目。平衡因子(其值可为0、-1、1)用于维护T-lt树的平衡,表示左子树和右子树的高度之差。
(3)下限和上限:下限规定了每个T-lt结点内的最小元素个数,上限规定了每个T-lt结点内的最大元素个数。当某个T-lt结点的当前元素数小于下限时就必须进行下溢调整操作,当某个T-lt结点的当前元素数大于上限时就必须进行上溢调整操作。
(4)tail结点:tail结点结构与T-lt结点结构类似,当对T-lt树进行插入操作时,如果待插入结点已满,则创建一个tail结点,所有待插元素都被插入到tail结点中,如果tail结点也满了,则将tail结点作为一个普通T-lt结点插入到T-lt树中。同样,在对T-lt树的删除操作中,发生下溢时,首先将tail结点中的元素移至当前结点,如果tail结点已空,则直接删除tail结点,通过tail结点可以有效的减少对树的旋转操作。
(5)尾指针:尾指针为一后继指针,当某T-lt结点存在tail结点时,则尾指针指向它的tail结点,否则,指向它的后继结点。tail结点的尾指针则指向原T-lt结点的后继结点。
(6)原始结点:不含tail结点的T-lt结点部分。
有益效果
本发明采用上述技术方案,与现有技术相比具有下面的优点:
1.减少对树的遍历次数
在T树中,如果要寻找当前结点的后继结点的话,必须通过遍历找到该结点的右子树的最左子结点,或者通过遍历找到一个祖先结点使得它的左子树的最右子结点是当前结点,并且这种寻找后继结点的操作在T树中相当频繁。而在T-lt树中,其结点比T结点多了一个指向后继结点的指针,可以通过这个指针找到它的直接后继结点,而不需要对树进行遍历操作,对于范围查询和顺序搜索这种查询处理,可以提高效率。对于插入和删除引起的上溢和下溢操作也可以直接定位到后继结点。
2.减少树的旋转次数
在对T树进行插入或者删除操作的时候,如果发生上溢或者下溢后,最后结点已满或者已空,则必须插入一个新的T结点或者删除一个结点,有可能会导致T树失去平衡,要对T树进行旋转操作来恢复平衡。通常对T树索引的维护过程中,旋转操作是非常频繁并且耗时的。当对T-lt树进行插入操作时,如果待插入结点已满,则创建一个tail结点,所有待插元素都被插入到tail结点中,如果tail结点也满了,则将tail结点作为一个普通T-lt结点插入到T-lt树中。同样,在对T-lt树的删除操作中,发生下溢时,首先将tail结点中的元素移至当前结点,如果tail结点已空,则直接删除tail结点,通过tail结点可以有效的减少对树的旋转操作。
附图说明
图1是一棵不带tail结点的T-lt树,每个节点的尾指针直接指向它的后继结点。
图2是T-lt树的结点,它包含一个tail结点,原结点的尾指针指向该tail结点,tail结点的尾指针则指向它的后继结点。
图3是T-lt树查询操作的执行流程。
图4是T-lt树插入操作的执行流程。
图5是T-lt树删除操作的执行流程。
图6是更新密度对基于T树和基于T-lt树两种索引性能的影响。
图7是树的大小对基于T树和基于T-lt树两种索引性能的影响。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
如附图1所示,不带tail结点的T-lt树中的每个结点与T树结点类似,只是每个结点都多了一个直接指向它的后继结点的尾指针,便于寻找后继结点。
如附图2所示,每个T-lt结点都包含一系列从小到大排序后的元素、控制信息和四个指针。指针分别指向父结点、左子结点、右子结点以及tail结点(存在tail结点)或者后继结点(不存在tail结点)。在T-lt结点的控制信息中包含平衡因子和结点当前的元素数目。平衡因子(其值可为0、-1、1)用于维护T-lt树的平衡,表示左子树和右子树的高度之差。
如附图3所示,T-lt树查询操作的具体执行流程如下:
A、开始操作,设T-lt树根结点为当前结点;
B、判断当前结点是否为空,当结果为是,则结束操作,返回未搜索到;当结果为否,进入下一步骤;
C、判断搜索值是否小于当前结点的最小值,当结果为是,则设左子结点为当前结点,返回步骤B,继续进行搜索操作;当结果为否,进入下一步骤;
D、判断搜索值是否大于当前结点的最大值,当结果为是,则设右子结点为当前结点,返回步骤B,继续进行搜索操作;当结果为否,则进入下一步骤;
E、在当前结点和其tail结点中进行二分查找,结束操作,并返回搜索结果;
如附图4所示,T-lt树插入操作的具体执行流程如下:
F、开始操作,设T-lt树根结点为当前结点;重复上述查询操作步骤A~E,在E步骤中将当前结点作为范围结点,不再进行二分查找;
G、判断是否找到范围结点,当没有找到范围结点,则将搜索路径中的最后一个结点作为范围结点,进入下一步骤;
H、当寻找到范围结点,继续判断该范围结点是否已满;
①、当该范围结点未满,判断该范围结点是否含有tail结点或者原始结点未满;
a、当结果为是,将待插入元素按一定的顺序插入范围结点,结束操作;
b、当结果为否,则在该范围结点中添加tail结点,使tail结点的尾指针指向原范围结点的后继结点,原范围结点的尾指针则指向该tail结点,将原范围结点和tail结点作为新的范围结点,然后将待插入值插入到新的范围结点中,结束操作;
②、当该范围结点已满,进行以下操作:
c、通过该范围结点的tail结点的后继指针找到其直接后继结点,然后将tail结点移出,作为其后继结点的左子结点,最后将待插入元素插入原范围结点或者新的子结点;
d、判断T-lt树是否失去平衡,当树失去平衡,则进行类似于T树的旋转操作使树平衡,然后结束操作;当T-lt树未失去平衡,则结束操作;
如附图5所示,T-lt树删除操作的具体执行流程如下:
I、开始操作,设T-lt树根结点为当前结点;重复上述(一)数据库查询操作策略步骤A~E,在E步骤中将当前结点作为范围结点;
J、判断是否找到范围结点,当没有找到范围结点,则操作失败退出;
K、当寻找到范围结点,在该范围结点内删除待删元素,判断删除元素是否会导致下溢;
(1)、如果在该范围结点内删除待删元素不会导致下溢,判断删除后是否会导致tail结点为空;
e、当判断结果不会导致tail结点为空,则结束操作。
f、当判断结果导致tail结点为空,则删除该tail结点,结束操作;
(2)、如果在该范围结点内删除待删元素会导致下溢,则判断该范围结点是否为内部结点;
g、如果该范围结点是一个内部结点,进行以下操作:
i通过该范围结点的后继指针找到其直接后继结点;
ii将后继结点的最小元素移入该范围结点中;
iii判断该后继结点是否为空,如果后继结点不为空,则直接进入L步骤;如果后继结点为空,则删除该后继结点后进入L步骤;
h、如果该范围结点不是一个内部结点,判断该范围结点是否为叶子结点:
iv当该范围结点不是叶子结点,则直接结束操作;
v当该范围结点是叶子结点,则判断进行删除操作后是否会导致该结点为空,如果该结点不为空,则直接进入L步骤;如果该结点为空,则删除该结点后进入L步骤;
L、判断T-lt树是否失去平衡,当树失去平衡,则进行旋转操作使树平衡,然后结束操作;当T-lt树未失去平衡,则结束操作。
为了测试基于T-lt树的索引性能,我们同时实现了基于T树的索引,对两者进行比较。实验采用42.66GHz CPU、512M内存的硬件环境进行试验,操作系统为Fedra Core 5.0,所有程序用C语言实现。通过两组实验,分别测试了更新密度和树的结点数目对索引性能的影响。在实验中,将对相应的索引结构进行1,000,000次操作,包括查询,插入和删除。
图6显示了更新密度对索引性能的影响。在实验中T-lt树和T-树都含有2,000,000个关键字,从图中可以看出基于T-lt树的索引性能比基于T树的索引性能更优。与基于T树的方法相比,因为引入了一个指向直接后继结点的指针,减少了插入和删除操作中因为上溢和下溢引起的遍历操作,并且由于Tail结点的引入,在更新操作中有效的减少了旋转的次数,所以T-lt树的性能要优于T树。
图7显示了树的大小对索引性能的影响。在实验操作中,查询占40%,插入占30%,删除占30%。从图中可以看出,随着树的关键字个数的增加,两种方法的性能都有了一定的下降,但是基于T树的方法比基于T-lt树的方法受树的大小影响更大。
我们以自主研发的安全数据库管理系统-NHSecure为例,进一步说明该发明的具体实施方式:
(1)在创建好数据表后,我们对给定的属性建立基于T-lt树的索引,并存入磁盘文件中;
(2)NHSecure启动时,首先从磁盘中将数据文件和索引文件分别读入内存,在内存中建立基于T-lt树的索引;
(3)执行SQL操作时,只对内存中的数据和索引结构进行更新;
(4)每隔一段时间的SQL操作后,NHSecure及时将更新过的数据文件和索引文件存入磁盘;
(5)在退出NHsecure时,先将数据文件和索引文件分别存入相应的磁盘文件中,再退出。
Claims (1)
1.一种基于T-lt树的主存数据库的索引方法,其特征在于:T-lt树的T-lt结点结构与T树的T结点结构相比,所述T-lt结点还包括一个尾指针,所述尾指针为一后继指针,当某T-lt结点存在tail结点时,则该T-lt结点的尾指针指向此tail结点;当该T-lt结点没有tail结点时,则该T-lt结点的尾指针指向直接后继结点;所述T-lt结点的tail结点与T结点相比还包括一个指向直接后继结点的指针;所述索引方法包括数据库查询操作、关键字插入操作、关键字删除操作三个步骤,其中:
(一)数据库查询操作步骤:
A、开始操作,设T-lt树根结点为当前结点;
B、判断当前结点是否为空,当结果为是,则结束操作,返回未搜索到;当结果为否,进入下一步骤;
C、判断搜索值是否小于当前结点的最小值,当结果为是,则设左子结点为当前结点,返回步骤B,继续进行搜索操作;当结果为否,进入下一步骤;
D、判断搜索值是否大于当前结点的最大值,当结果为是,则设右子结点为当前结点,返回步骤B,继续进行搜索操作;当结果为否,则进入下一步骤;
E、在当前结点和其tai l结点中进行二分查找,结束操作,并返回搜索结果;
(二)关键字插入操作步骤:
F、开始操作,设T-lt树根结点为当前结点;重复上述(一)数据库查询操作步骤A~E,在E步骤中将当前结点作为范围结点,不再进行二分查找;
G、判断是否找到范围结点,当没有找到范围结点,则将搜索路径中的最后一个结点作为范围结点,进入下一步骤;
H、当寻找到范围结点,继续判断该范围结点是否已满;
①、当该范围结点未满,判断该范围结点是否含有tail结点或者原始结点未满;
a、当结果为是,将待插入元素按一定的顺序插入范围结点,结束操作;
b、当结果为否,则在该范围结点中添加tail结点,使tail结点的尾指针指向原范围结点的后继结点,原范围结点的尾指针则指向该tail结点,然后将待插入值插入到新的范围结点中,结束操作;
所述原始结点为不含tail结点的T-lt结点部分;
②、当该范围结点已满,进行以下操作:
c、通过该范围结点的tail结点的后继指针找到其直接后继结点,然后将tail结点移出,作为其后继结点的左子结点,最后将待插入元素插入原范围结点或者新的子结点;
d、判断T-lt树是否失去平衡,当树失去平衡,则进行旋转操作使树平衡,然后结束操作;当T-lt树未失去平衡,则结束操作;
(三)关键字删除操作步骤:
I、开始操作,设T-lt树根结点为当前结点;重复上述(一)数据库查询操作步骤A~E,在E步骤中将当前结点作为范围结点;
J、判断是否找到范围结点,当没有找到范围结点,则操作失败退出;
K、当寻找到范围结点,在该范围结点内删除待删元素,判断删除元素是否会导致下溢;
(1)、如果在该范围结点内删除待删元素不会导致下溢,判断删除后是否会导致tail结点为空;
e、当判断结果不会导致tail结点为空,则结束操作;
f、当判断结果导致tail结点为空,则删除该tail结点,结束操作;
(2)、如果在该范围结点内删除待删元素会导致下溢,则判断该范围结点是否为内部结点;
g、如果该范围结点是一个内部结点,进行以下操作:
i通过该范围结点的后继指针找到其直接后继结点;
ii将后继结点的最小元素移入该范围结点中;
iii判断该后继结点是否为空,如果后继结点不为空,则直接进入下述L步骤;如果后继结点为空,则删除该后继结点后进入下述L步骤;
h、如果该范围结点不是一个内部结点,判断该范围结点是否为叶子结点:
iv当该范围结点不是叶子结点,则直接结束操作;
v当该范围结点是叶子结点,则判断进行删除操作后是否会导致该结点为空,如果该结点不为空,则直接进入下述L步骤;如果该结点为空,则删除该结点后进入下述L步骤;
L、判断T-lt树是否失去平衡,当树失去平衡,则进行旋转操作使树平衡,然后结束操作;当T-lt树未失去平衡,则结束操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100334143A CN101587484B (zh) | 2009-06-19 | 2009-06-19 | 一种基于T-lt树的主存数据库的索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100334143A CN101587484B (zh) | 2009-06-19 | 2009-06-19 | 一种基于T-lt树的主存数据库的索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101587484A CN101587484A (zh) | 2009-11-25 |
CN101587484B true CN101587484B (zh) | 2011-05-11 |
Family
ID=41371733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100334143A Expired - Fee Related CN101587484B (zh) | 2009-06-19 | 2009-06-19 | 一种基于T-lt树的主存数据库的索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101587484B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207935A (zh) * | 2010-03-30 | 2011-10-05 | 国际商业机器公司 | 用于创建索引的方法和系统 |
CN102479189B (zh) * | 2010-11-23 | 2016-08-03 | 上海宝信软件股份有限公司 | 一种内存中海量时间戳型数据高速均匀访问的索引方法 |
CN102024046B (zh) * | 2010-12-14 | 2013-04-24 | 华为数字技术(成都)有限公司 | 数据重复性校验方法和装置及系统 |
CN104424222B (zh) * | 2013-08-23 | 2019-09-13 | 华为技术有限公司 | 数据库索引方法及装置 |
CN103902693B (zh) * | 2014-03-28 | 2017-06-20 | 西安交通大学 | 一种读优化的内存数据库t树索引结构的方法 |
CN104077416B (zh) * | 2014-07-17 | 2017-09-26 | 中国科学院微电子研究所 | 一种数据处理方法、数据查找方法及系统 |
CN105025013B (zh) * | 2015-06-12 | 2018-04-10 | 国家计算机网络与信息安全管理中心 | 基于优先级Trie树的动态IP匹配模型的建立方法 |
CN109902033B (zh) * | 2019-02-13 | 2023-03-14 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
-
2009
- 2009-06-19 CN CN2009100334143A patent/CN101587484B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101587484A (zh) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101587484B (zh) | 一种基于T-lt树的主存数据库的索引方法 | |
AU759360B2 (en) | Database apparatus | |
CN103020204B (zh) | 一种对分布式顺序表进行多维区间查询的方法及其系统 | |
US7418544B2 (en) | Method and system for log structured relational database objects | |
US6411964B1 (en) | Methods for in-place online reorganization of a database | |
Salzberg et al. | Comparison of access methods for time-evolving data | |
US6973452B2 (en) | Limiting scans of loosely ordered and/or grouped relations using nearly ordered maps | |
US6122644A (en) | System for halloween protection in a database system | |
Evangelidis et al. | The hB-tree: A multi-attribute index supporting concurrency, recovery and node consolidation | |
JP2003330964A (ja) | データベース・システム | |
WO2009089505A1 (en) | Spatial sieve tree | |
Min et al. | A system framework for map air update navigation service | |
CN104391908A (zh) | 一种图上基于局部敏感哈希的多关键字索引方法 | |
Lomet | Grow and post index trees: Role, techniques and future potential | |
CN103399915A (zh) | 一种搜索引擎索引文件的优化读取方法 | |
CN109299143B (zh) | 基于Redis缓存的数据互操作测试知识库的知识快速索引方法 | |
Lomet | A review of recent work on multi-attribute access methods | |
CA2380348A1 (en) | Method for organizing directories | |
CN115935020A (zh) | 一种图数据存储方法和装置 | |
JP3653333B2 (ja) | データベース管理方法およびシステム | |
CN109213760A (zh) | 非关系数据存储的高负载业务存储及检索方法 | |
Kvet | Database Block Management using Master Index | |
CN1235169C (zh) | 一种嵌入式系统的数据存放及其查找方法 | |
Li et al. | A Survey of Multi-Dimensional Indexes: Past and Future Trends | |
Olken | Physical database support for scientific and statistical database management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110511 Termination date: 20210619 |
|
CF01 | Termination of patent right due to non-payment of annual fee |