[发明专利]数据库大数据量表存储和查询方法无效
申请号: | 200810159786.6 | 申请日: | 2008-11-13 |
公开(公告)号: | CN101404013A | 公开(公告)日: | 2009-04-08 |
发明(设计)人: | 宋智强 | 申请(专利权)人: | 山东浪潮齐鲁软件产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q10/00 |
代理公司: | 济南信达专利事务所有限公司 | 代理人: | 姜 明 |
地址: | 250014山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 数据 量表 存储 查询 方法 | ||
技术领域
本发明涉及计算机应用技术领域,具体地说是一种数据库大数据量表存储和查询的实现方法。
背景技术
在很多企业的业务系统中都存在“日清日结”或者“日清月结”的功能,这样会方便企业对当天或者整个月商品的库存以及销售情况进行盘点;在这一过程中,一般会生成大量的数据记录来存储到数据库相应的日结帐表中,随着时间的累积,这样的表会越来越庞大,在一些相对集中的企业数据库中数量级会达到亿级以上。
在数据库中如果存在记录数上亿的表,会给数据的查询带来比较大的麻烦,除了查询SQL本身的响应时间会越来越慢,主机系统在CPU、内存资源的使用上也会越来越高,更严重的是会使跟这些表相关的业务功能无法进行,在并发要求比较高的数据库系统中,可能会给系统带来大量的数据库锁,并影响整个数据库系统,导致数据库的崩溃;而对于表空间存在大小限制的数据库,庞大数据量的表也是一个比较棘手的问题。
在解决大数据量表存储问题方面,比较常用的方式是在经过一段时间之后,对表中的数据进行转移,也就是从最初的表中将数据迁移到另一个或多个存储历史过渡数据的表中,也有直接将历史数据清除的做法;这两种做法都存在一定问题,将数据隔一段时间转移到历史过渡表中,一方面需要考虑历史过渡表怎么维护的问题,在转移数据上也需要花费很多精力,另外就是对于历史过渡数据的查询比较麻烦,查询性能也不会很好;如果将数据直接清空也将面临历史数据查询的问题。上面的方式多数时候都不具备自动维护的特点,都是在维护人员人工操作的情况下进行的。
发明内容
本发明的数据库大数据量表存储和查询方法,是根据企业中大数据量的表特性进行分区规则设计,通过设计好的分区规则,实现数据库表的逻辑设计和物理设计,从而实现大数据量表的分区存储以及分区查询的目的,具体实现步骤如下:
1)企业中日结帐表按照月份分区规则设计,日结帐表都存在日期列,而且对于日结帐表的查询方式是一个完整的月份,分区规则按照月份来制定;
2)在定义好分区规则之后,对于表定义按照分区规则划分成多份,按月份的划分定义成12个表,每个表都定义有特定的表空间,数据存储在不同特定的表空间中;
3)在定义好的表的基础上,增加表检查约束定义,约束条件为月份,通过检查约束实现记录增加的时候自动存储到不同表空间中;
4)分区表的定义完成之后,定义联合视图,通过联合视图联合所有分区表实现大数据量日结帐表的分区存储;
5)通过修改联合视图的定义,让每个分区表都增加相应的查询条件,这样就实现了分区查询的目的。
利用通用数据库定义以及设计规则来实现数据库表分区存储以及分区查询的目的,不依赖于任何数据库深层次的技术。
本发明的有益效果是:
1、通过企业中大数据量表的一些特性,来实现表的逻辑分区设计,从而实现大数据量表物理上的分区实现。
2、采用一些通用的数据库定义方法来解决大数据量表的分区实现问题,而不依赖数据库是否具备分区技术,大多数数据库产品都能够实现。
3、不需要花太多精力考虑数据存储维护的问题,表空间的限制相当于扩大到原来的12倍,避免了数据库表空间维护给系统运维人员带来的麻烦。
4、解决数据库大数据量表的查询SQL的响应时间随时间增长变得越来越慢的问题,在这种实现效果下,12年之后才会相当于原方式1年之后的查询响应时间。
5、整个实现方式对于客户端工具和程序来说,相当于一个“黑盒子”,不需要开发人员做什么调整,在以后的维护当中也不需要系统维护人员做人工的干预。
附图说明
附图1是数据库大数据量表存储和查询的方法流程结构示意图。
具体实施方式
本发明的方法是是通过合理的分区规则来解决大数据量表的问题;不需要维护人员做过多的维护工作,更不需要定期进行历史数据的迁移工作。
企业中的日结帐表一般都是根据特定算法,来记录当天商品的销售、库存等财务报表数据的情况;汇总的目的一方面企业需要知道当天销售过程中的成本以及获得的利润情况,另一方面一些具体的人员,例如客户经理需要及时了解每个客户的当天的订货情况;这种日结帐表除了能够提供某一天或者某一段时间的报表查询数据之外,还将作为月结算的原始数据,那么这样来看日结帐表对系统来说真正有意义的都是不超过一个完整月份的数据。这样我们就可以根据这个规则对日结账表进行按月分区实现,实现分区之后日结帐表对应12个表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮齐鲁软件产业股份有限公司,未经山东浪潮齐鲁软件产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810159786.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:触控显示面板
- 下一篇:一种页眉或页脚输出位置调整方法、装置、系统及设备
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置