[发明专利]海量数据库记录的归档和查询方法无效
申请号: | 200810043784.0 | 申请日: | 2008-09-18 |
公开(公告)号: | CN101676899A | 公开(公告)日: | 2010-03-24 |
发明(设计)人: | 王新春;代真虎;徐培杰 | 申请(专利权)人: | 上海宝信软件股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海浦一知识产权代理有限公司 | 代理人: | 丁纪铁 |
地址: | 201203上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 海量 数据库 记录 归档 查询 方法 | ||
技术领域
本发明涉及一种数据库记录的归档和查询方法,具体涉及一种海量数据库记录的归档和查询方法。
背景技术
在数据库系统中,对于数据量会不断增长的数据库表,当数据量积累到一定规模以后,往往使得系统的性能下降非常明显,不管是查询、新增、修改还是删除,数据量增大以后,对数据库系统的日常维护,如备份等会造成很多麻烦。对于这种数据会不停增长的表,如操作日志,超过一定时间以后其中的记录会被修改的几率就会很小,形成历史记录,对这些记录的处理一个比较好的方式就是执行归档。目前对大量历史记录的归档的处理虽然有多种方式,但是均不是很理想;要么实现效果不好,要么太复杂成本太高。本发明的目的就是为了提供一种对海量数据的归档方式,能够简单、高效的存储和访问这些数据。其基本思路是在归档的时候,对不同的数据进行分别处理,建立索引和压缩的数据文件,将归档文件(索引文件和数据文件)存储在文件系统中,并对归档以后的记录提供独立高效的查询支持。
现有解决数据库表中历史数据的问题,通常有以下几种方案,将逐一分析其应用的局限和不足:
(1)在原有表的基础上,增加归档表
这种方案将超过一定时间的历史记录转移到归档表中进行保存。查询的时候,如果在当前的数据表中没有查到,就转到归档表中进行查询。这种方案能够在比较短的时间或者数据量增长不是很迅速的时候,基本能够满足需求。但是如果数据量增长很快,那么归档表中的记录也会增加很庞大,严重影响性能;同时这种方案也不能无限制的保留归档记录。
(2)多个归档表加删除记录
在单个归档表的基础上,再增加一定数量的归档表,归档表进行循环使用,当归档表使用到最后一个规定表的时候,将记录删除。这种方式能够保留更多的归档数据,但是同样存在问题。首先是查询问题,如果归档表以时间来进行分割的,按照时间的范围进行查询的时候,可以只在相应的表中进行查询;但是不以时间范围查询,需要遍历所有归档表的时候,由于归档表中有大量的数据,查询的时候性能很难忍受。其次是保留的记录还是有限,因为最终数据还是会被从系统中清除。
(3)归档到文件,查询的时候恢复
这种方式是将记录执行归档的时候保存到文件系统中,需要查询的时候将保存的文件的记录恢复到数据库系统中。这种方式能够满足归档记录长期保存的需要,但是查询的时候复杂,不管是恢复到原有系统还是新的系统中,都要执行恢复的操作和过程。
(4)归档到其他数据库系统
将需要归档的记录转移到其他数据库系统中,查询的时候,在各个数据库系统中并行查询或者将查询的结果组合。这种方式增加了软硬件投资的成本,同时也增大了实现的复杂度。
发明内容
本发明所要解决的技术问题是提供一种海量数据库记录的归档方法,它能够高效的对数据库海量记录的归档和查询,克服归档记录有限,查询复杂和性能低下,用户掌握困难等缺点。为此,本发明还要提供一种海量数据库记录的查询方法。
为了解决上述技术问题,本发明的海量数据库记录的归档方法,包括如下步骤:
(1)在数据库中获取一个需要归档的表中的记录;
(2)将步骤(1)获取的记录进行分组;
(3)对分组后的各组记录建立索引文件;
(4)对建立好索引文件的组进行数据压缩后归档;
(5)重复步步骤(3)和步骤(4)直至步骤(1)获取的记录全部归档;
(6)若数据库中还有未归档的表,则返回步骤(1)。
基于上述归档方法,本发明的海量数据库记录的查询方法,包括如下步骤:
(1)解析用户输入的查询条件,去掉无意义的查询条件和影响系统正常运行的特殊字符;
(2)在索引文件中找到含有关键字的记录索引,根据记录的文件指针确定记录所在数据块在存档文件中的位置及记录在其所在数据块中的位置;
(3)根据记录所在数据块在存档文件中的位置查找并解压缩相应数据块文档,进一步根据记录在数据块中的位置查询到完整的数据记录。
本发明的海量数据库记录的归档和查询方法具有以下优点:1)、可以满足对归档文件的压缩存储和高效查询的需要,归档记录的文件(索引文件+数据文件)的大小只有原始记录的1/2或者更少;记录在百万级别的时候,查询的响应时间也在毫秒级,大大高于数据库查询的速度;2)、归档文件和数据库完全独立,不对数据库系统的正常运行造成任何影响;3)、归档文件存放在文件系统中,很容易备份和恢复;方案稍加改良就可以实现对多个归档文件的联合查询。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海宝信软件股份有限公司,未经上海宝信软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810043784.0/2.html,转载请声明来源钻瓜专利网。