一种数据库存储系统及其数据的拆分方法和装置制造方法及图纸

技术编号:3873467 阅读:173 留言:0更新日期:2012-04-11 18:40
本发明专利技术适用于数据库领域,提供了一种数据库存储系统及其数据拆分方法和装置,所述方法包括下述步骤:接收数据拆分指令和数据拆分条件;创建与所述数据拆分指令指定的数据库表结构相同的历史数据库表;将所述数据拆分指令指定的数据库表中符合所述数据拆分条件的数据拆分至所述历史数据库表中。本发明专利技术实施例通过创建一个与数据库表的结构相同的数据历史表,将数据库表中的符合预设的拆分条件的数据拆分至数据历史表中,从而在不丢失数据的同时,极大的减少了数据库表中的数据量,提高了数据库存储系统的性能。

【技术实现步骤摘要】

本专利技术属于数据库处理领域,尤其涉及一种数据库存储系统及其数据的拆分方法和装置
技术介绍
目前,数据库存储系统一般采用数据库表存储数据,随着数据库存储系统的使用 时间的累积,数据库表中的数据将不断的增加。当数据库表中存储的数据量过大时,将降低 数据库存储系统的性能,甚至到不可容忍的地步。因此,如何降低大数据量对数据库存储系 统的性能的影响已成为急需解决的问题。 现有技术一般是通过不断的对数据库表的索引进行优化,以提高数据库存储系统 的数据处理效率。但是由于数据库表中存储的数据量过大,因此,无论采用哪种优化算法对 数据库表的索引进行优化均难以从根本上解决大数据量对数据库存储系统的性能的影响。
技术实现思路
本专利技术实施例的目的在于提供一种数据拆分方法,旨在解决现有的数据库存储系 统在存储有大数据量时性能差的问题。 本专利技术实施例是这样实现的,一种数据拆分方法,所述方法包括下述步骤 接收数据拆分指令和数据拆分条件; 创建与所述数据拆分指令指定的数据库表结构相同的历史数据库表; 将所述数据拆分指令指定的数据库表中符合所述数据拆分条件的数据拆分至所述历史数据库表中。 本专利技术实施例的另一目的在于提供一种数据拆分装置,所述装置包括 拆分指令接收单元,用于接收数据拆分指令和数据拆分条件; 数据库表创建单元,用于创建与所述数据拆分指令指定的数据库表结构相同的历 史数据库表; 数据拆分单元,用于将所述数据拆分指令指定的数据库表中符合所述数据拆分条 件的数据拆分至所述历史数据库表中。 本专利技术实施例的另一 目的在于提供一种数据库存储系统,所述系统包括所述数据 拆分装置。 在本专利技术实施例中,通过创建一个与数据库表的结构相同的数据历史表,将数据 库表中的符合预设的拆分条件的数据拆分至数据历史表中,从而在不丢失数据的同时,极 大的减少了数据库表中的数据量,提高了数据库存储系统的性能。另外通过根据数据库表 和历史数据库表创建视图,通过创建的视图即可读取数据库表和历史数据库表中的数据。 通过设置多个数据拆分条件,从而可以满足用户对数据拆分的各种需求。附图说明 图1是本专利技术实施例提供的数据拆分方法的实现流程图; 图2是本专利技术实施例提供的数据拆分装置的结构框图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并 不用于限定本专利技术。 在本专利技术实施例中,创建一个与数据库表的结构相同的数据历史表,将数据库表 中的符合预设的拆分条件的数据拆分至数据历史表中,从而在不丢失数据的同时,极大的 减少了数据库表中的数据量,提高了数据库存储系统的性能。图1示出了本专利技术实施例提供的数据的拆分方法的实现流程,详述如下 在步骤S101中,接收数据拆分指令和数据拆分条件。 其中数据拆分指令中指定了需要进行拆分的数据库表。在本专利技术实施例中,可以 通过人机交互界面,接收用户输入的数据拆分指令和数据拆分条件,也可以设置数据拆分 的触发条件,当达到数据拆分的触发条件时,自动产生数据拆分指令,并使用默认的数据拆 分条件。如数据拆分的触发条件可以为当到达某个预设的时间点时,即触发产生数据拆分 指令,如可以设置为每个月的月初、月中或月末。当然数据拆分的触发条件还可以设置为其 他条件,不以上述举例说明为限。 其中数据拆分条件可以根据使用需求自行设置。在本专利技术实施例中,数据拆分条 件包括但不限于按时间点拆分、按时间段拆分和按数据的数量拆分等。其中按时间点拆分 又包括按年拆分、按月拆分、按日期拆分、按期拆分等。当然还可以根据不用用户的需要,设 置其他的数据拆分条件。 在步骤S102中,创建与数据拆分指令指定的数据库表结构相同的历史数据库表。 其中与数据拆分指令指定的数据库表结构相同是指与数据库表的字段、约束的具 体内容、索引的具体内容等相同,但数据库表名称、约束的名称、索引的名称等不同。 在步骤S103中,将数据拆分指令指定的数据库表中符合数据拆分条件的数据拆 分至历史数据库表中。其具体步骤如下 当数据拆分条件为按时间点拆分时,则将数据拆分指令指定的数据库表中在该时 间点之前产生的数据拆分至历史数据库表中,使数据拆分指令指定的数据库表中仅剩下在 该时间点之后产生的数据。在设置具体的时间点时,需要根据业务需要设置,如保证在时间 点之前产生的数据均是已经处理完成的数据等。其中按时间点拆分包括但不限于按年进行 拆分、按月进行拆分、按日期进行拆分和按期进行拆分。为按年进行拆分设置的时间点称为 年点,为按月进行拆分设置的时间点称为月点,为按日期进行拆分的时间点称为日期点,为 按期进行拆分的时间点称为期间点。 举例说明如下 1、按年进行拆分假设数据拆分指令指定的数据库表为TableA,该TableA中保存 了 2006年至2009年之间产生的数据,创建的历史数据库表为TableA_History,为按年进行 拆分设置的时间点(即年点)为2009年。此时,按年对数据库表TableA进行拆分的具体步骤如下 将数据库表TableA中2009年以前(即2006年至2008年)产生的所有数据拆分 并存储至历史数据库表Table—History中,数据库表TableA中仅保留2009年份产生的数 据。根据实验结果,拆分后的数据库表TableA中的数据量可以由1000万骤降到大概100 万到200万的数据。由于对数据库表TableA进行拆分后,既可以保存所有数据,也不会对 业务造成影响,而且由于数据库表TableA中的数据骤降,从而明显的提高了数据库存储系 统的性能。 2、按期进行拆分假设数据拆分指令指定的数据库表为TableA,且客户当前需要 处理的期间为2009年8期,创建的历史数据库表为TableA_History。在选择按期进行拆分 时,需要将期间点设置为2009年8期以前的时间点,如2009年7期或者6期等。如果将期 间点设置为2009年7期,则将2009年7期以前产生的以及2009年7期产生的数据拆分并 存储至历史数据库表Table—History中,数据库表TableA中仅保留2009年7期以后产生 的数据。根据实验结果,拆分后的数据库表TableA中的数据量可以由1000万骤降到大概 30万左右的数据。由于对数据库表TableA进行拆分后,既可以保存所有数据,也不会对业 务造成影响,而且由于数据库表TableA中的数据骤降,从而明显的提高了数据库存储系统 的性能。 3、按日进行拆分在按日进行拆分时,设置的日期点需要早于未进行处理的数据 的最早日期。此时,按年对数据库表TableA进行拆分的具体步骤如下 将数据库表TableA中日期点以前产生的所有数据拆分并存储至历史数据库表 Table—History中,数据库表TableA中仅保留日期点以后产生的数据。 当数据拆分条件为按时间段拆分时,则将数据拆分指令指定的数据库表中在该时 间段内产生的数据拆分至历史数据库表中,使数据拆分指令指定的数据库表中仅剩下在该 时间段以外产生的数据。在设置具体的时间段时,需要根据业务需要设置。如保证在时间 段内产生的数据均是已经处理完成的数据等。 当数据拆分条件为按本文档来自技高网...

【技术保护点】
一种数据拆分方法,其特征在于,所述方法包括下述步骤:    接收数据拆分指令和数据拆分条件;    创建与所述数据拆分指令指定的数据库表结构相同的历史数据库表;    将所述数据拆分指令指定的数据库表中符合所述数据拆分条件的数据拆分至所述历史数据库表中。

【技术特征摘要】

【专利技术属性】
技术研发人员:余锋
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1