[发明专利]一种读优化的内存数据库T树索引结构的方法有效
申请号: | 201410122539.4 | 申请日: | 2014-03-28 |
公开(公告)号: | CN103902693B | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 段章峰;伍卫国;钱德沛;崔金华;王寅峰 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 西安智大知识产权代理事务所61215 | 代理人: | 贺建斌 |
地址: | 710049*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 内存 数据库 索引 结构 方法 | ||
技术领域
本发明属于计算机技术领域,具体涉及一种读优化的内存数据库T树索引结构的方法。
背景技术
在数据库系统中,为了加快数据的访问速度,可以建立索引结构,索引结构是一个或多个列(例如,employee表的姓氏(lname)列)的值进行排序的结构。如果按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。常见的磁盘数据库索引有B树索引,B+树索引,T树索引,它们的使用可以显著的减少磁盘I/O数。随着内存价格的降低,内存数据库技术得到了广泛的应用。不同于磁盘数据库系统,内存数据库系统在数据访问时显著的减少或消除了磁盘I/O,提高了数据访问的速度,原来的数据库索引,如B树索引,由于其节点中存在着大量的指针结构,空间利用率不高,Cache命中率也不高,直接引用会降低内存数据库系统的效率。针对这些问题,需要通过修改数据库系统的数据索引来高效利用物理内存空间,提高内存数据库系统的数据访问速度。
Cache是计算机系统的层次存储结构中,介于中央处理器(CPU)和主存储器之间的高速小容量存储器。它具有速度快,容量小的特点。它充分利用了访存局部性原理,用来存储CPU最近访问的内存内容。CPU访问数据时,先在Cache中查找,如果找到则直接传输到CPU中的寄存器中,这称为命中;如果没有找到,那么需要在内存中查找,并且要把查找到的内容重新写入Cache,下次读取时就可以避免内存传输。在内存数据库的应用中,缓存的命中成为了数据库效率的瓶颈,同时在大数据量的访问模式下,存在着许多热点数据,可以将热点数据放入Cache来加快数据访问速度。
在小数据量的查找情况下,AVL树由于其编程简单,而且算法效率高而被广泛使用,但是,面对大数据量的访问,树的高度和Cache命中率成为限制其性能的因素,因而我们需要考虑使用其他数据结构来替代它。
发明内容
为了克服上述现有技术存在的缺点,本发明的目的在于提供一种读优化的内存数据库T树索引结构的方法,充分利用了T树结构本身所提供的高效数据访问效率,从而在整体上提供了良好的读性能;同时,利用缓存位置敏感算法,通过减少指针的使用来提高缓存的命中率。
为了达到上述目的,本发明所采用的技术方案是:
一种读优化的内存数据库T树索引结构的方法,包括以下步骤:
第一步,构造t-T树的数据结构:根据已有的数据,建立T树索引结构,根据T树结构中节点的大小N,对数据进行插入操作,找到第一个不大于当前值的数据的位置,执行插入,有时需要移动某些数据的位置;如果一个节点内的数据满,需新分配节点来存储数据,同时,如果当前节点的左右子树高度差大于等于2,需做树的旋转操作,以保持树的平衡,在构造t-T树过程中,树结构中的内置T树左右子树字段在这一阶段不进行任何操作;
第二步,在已经建立好的t-T树中进行数据查询操作,查询操作分为单值查询和范围查询,
在单值查询中,首先在内置T树中查询,如果内置T树为空,那么在外层T树中查询,把需要查找的值和节点内的最大值、最小值进行比较,若小于最小值,那么在这个节点的左子树中查找;若大于最大值,那么在这个节点的右子树中查找,同时把查找到的结果插入内置T树中;若内置T树不为空,那么在内置T树的节点内查询,在一个节点内,使用二分查找算法来加速查找过程,若在节点内找到,返回查找结果,若没有找到,返回外层T树,在外层T树中进行查找,将查找到的节点插入内置T树中,如果节点的插入导致了内置T树的AVL树平衡条件被破坏,那么需要进行旋转操作来使树结构保持AVL特性;
在范围查询中,进行等价转换,转换成单值查询,当找到第一个满足要求的节点后,再进行递归的调用来访问节点的子树,或者回溯访问节点的父节点,这样就可以遍历所有满足范围查询的节点。
在大数量访问中,被经常访问到的部分数据,通过在T树中内置T树,来提供一种缓冲的效果,减少了数据访问时间。
本发明的有益效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410122539.4/2.html,转载请声明来源钻瓜专利网。