[发明专利]基于MSSQLSERVER表分区及自动维护方法及系统有效
申请号: | 201310750793.4 | 申请日: | 2013-12-30 |
公开(公告)号: | CN103699676B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 余有能 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市博锐专利事务所44275 | 代理人: | 张明 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mssqlserver 分区 自动 维护 方法 系统 | ||
技术领域
本发明涉及数据库应用领域,尤其是指一种基于MSSQL SERVER表分区及自动维护方法及系统。
背景技术
MSSQL SERVER是指微软的SQL Server数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。而在MSSQLSERVER中,表分区(PARTITION)是MSSQL server数据库的一个组件,该技术最早在MSSQL server2005企业版中引入,这个过程是把数据按某种标准划分成区域存储在不同的文件组中,使用分区可以快速而有效地管理和访问数据子集,从而使大型表或索引更易于管理。就访问MSSQL server数据库的应用而言,逻辑上讲只有一个表,但在物理存储上可能由多个物理的数据文件组成。每个文件组存放一个数据分区的数据,每个数据分区都是一个独立的对象,可以独自处理,也可以作为一个更大对象的一部分进行处理。
目前,MSSQL server展到MSSQL server2012,数据表分区的方式仍然采用MSSQL server2005的方法进行操作。MSSQL server的数据表分区种类很单一,类似于oracle/mysql的range分区。MSSQL server数据表分区主要通过以下步骤来实现:
创建分区函数以指定如何分区使用该函数的表;
创建分区架构以指定分区函数的分区在文件组上的位置;
创建使用分区架构的表;
分区表上创建唯一索引,索引列必须包含分区列,且分区列不为null;
由此,当MSSQL server数据库使用时间越长,积累的数据越来越多,性能会急剧下降。
现有技术中,一般采取两种传统方式来提高性能——即数据表瘦身与表分 区。
其中,数据表瘦身即将现有表中不再使用的数据删除,使用频率低的数据转储为历史表。对于一个复杂的业务系统而言,一般很少进行数据删除,这样就造成数据库出现大型表或者巨型表,使得该表的数据查询缓慢,因此大多数数据表瘦身倾向于转储为历史表。
而MSSQL server表分区技术应用于海量数据的相关应用领域时,由于MSSQL server表分区自身的特点,当表分区的数量会和文件组的数量一样多,这增加了数据文件的管理难度。此外,当数据达到分区函数的极限时,需要手动进行扩展并新建新的文件组来存储新的数据,会因数据文件过多而增加数据文件管理难度;手动维护众多(少则几十来张,多则上百张)分区表,给dba带来维护的工作量确实比较大。
发明内容
本发明的目的在于克服了上述缺陷,提供一种基于MSSQL SERVER表分区及自动维护方法及系统。
本发明的目的是这样实现的:一种基于MSSQL SERVER表分区及自动维护方法,它包括分区步骤及自动维护步骤;
所述分区步骤包括,对同类型的表根据需求设计数据保留策略,同类表基于相同的数据保留策略、分区函数和分区架构进行表创建;所述表创建包括依次创建表分区函数、创建表分区架构,定义表分区结构;
所述自动维护步骤包括,判断数据库中的表是否需要进行表分区整理,若需要则将不符合数据保留策略的数据转储到临时表中,而后修改表分区函数、修改表分区架构并重新定义表分区结构;
上述方法中,它还包括计划任务步骤,所述任务步骤包括设定触发条件,当触发条件满足时执行自动维护步骤。
上述方法中,所述计划任务步骤具体包括,
S1)、进入操作系统的任务计划程序中制定执行计划,包括添加执行任务内容及设定触发条件;所述触发条件包括任务触发时间点和触发时间间隔;所述 执行任务内容为执行自动维护步骤;
S2)、开启执行计划,当满足触发条件时触发执行任务内容;
S3)、任务计划根据触发时间间隔累加任务触发时间。
上述方法中,所述分区步骤具体包括,根据业务特征与数据需求为同一个类型的表制定数据保留策略,而后就同类表基于相同的数据保留策略、分区函数和分区架构进行表创建;所述表创建包括步骤,
A)、于数据库中添加一个包括表名、触发分区整理值及分区整理状态键名的表分区管理表;所述分区整理状态键名中存储有是否需要进行分区整理的键值;
B)、根据分区键字段、分区数量计算各分区之间边界值后设计表分区策略;
C)、根据表分区策略创建表分区函数并执行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310750793.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可拆卸折叠式火车桌
- 下一篇:可调节式自重力压杆机构