在数据库系统中减少存储需求的数据压缩技术方案

技术编号:8026978 阅读:194 留言:0更新日期:2012-12-02 18:18
本发明专利技术公开了在数据库系统中减少数据存储需求的方法、系统和计算机程序产品。一个实施例包括:基于预定的阈值水平和压缩边界,确定将被压缩的数据库数据的至少一行中拥有固定长度数据类型的至少一个候选数据;根据压缩的边界在至少一个行内为已确定的候选数据提供至少一个位元;和在数据库系统中存储该至少一行作为压缩数据。该将被压缩的已确定的候选数据包括固定长度的列,该列的长度不低于一行数据中预定的阈值水平,并且该至少一个位元包括该将被压缩的已确定的候选数据的长度的位元图。对于基于页边界的压缩,该将被压缩的已确定的候选数据包括在数据页中的冗余位元组字符串数据,该冗余位元组字符串数据包括匹配在多列之间长度不超过预定阈值水平的数据。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据库系统,具体涉及数据库系统的数据压缩。
技术介绍
计算机是存储和提供大量信息存取的强大工具。关系型数据库是计算机系统中用来存储信息并同时向用户提供方便访问的普遍机制。典型的关系型数据库是相关信息的有系统集合,其存储为“记录”并拥有“领域”的信息。作为一个例子,员工的数据库可以有每个员工的记录,其中每个记录包含指定有关员工细节的领域,如姓名、家庭住址、工资和相类似的。 在实际物理数据库本身(即数据实际上存储在存储设备)和系统的用户之间,关系数据库管理系统或RDBMS通常是作为软件垫或层被提供。从本质上讲,RDBMS使数据库用户不需知道或注意底层硬件级别的细节。通常情况下,所有来自用户的对数据访问的请求都是由RDBMS处理。例如,信息可能在数据文件中被添加或删除,在这些文件中的信息检索或更新以及相似的,所有都不需要用户知道底层的系统实施。在这种方式下,RDBMS为用户提供了从硬件级别中移除的数据库概念视图。一般的数据库管理系统的建设和运作是众所周知的。例如,“Date, C. , An Introduction to Database Systems, Seventh Edition”,Part I (especially Chapters 1-4),Addison Wesley, 2000,,。高效的数据访问是数据库管理系统所提供的特性之一。关系数据库系统所面临的一个关键挑战是不断增长的数据库大小。随着越来越多地使用数字设备和在网络上数据流动的容易,数据的急剧增长近年来加快了。因为普通的数据库和表的大小在近年来大幅增长,数据库的数据压缩也越来越重要。虽然数据库的行级压缩和页级压缩已经出现,但仍需要改进的压缩技术以克服这些方法的缺陷而不会产生新的开销。本专利技术解决了这一需要。
技术实现思路
本专利技术包括在数据库系统中减少数据存储需求的方法、系统和计算机程序产品。一个实施例包括基于预定的阈值水平和压缩边界,确定将被压缩的数据库数据的至少一行中拥有固定长度数据类型的至少一个候选数据;根据压缩的边界在至少一个行内为已确定的候选数据提供至少一个位元;和在数据库系统中存储该至少一行作为压缩数据。对于基于行边界的压缩,该将被压缩的已确定的候选数据包括固定长度的列,该列的长度不低于一行数据中预定的阈值水平,并且该至少一个位元包括该将被压缩的已确定的候选数据的长度的位元图。对于基于页边界的压缩,该将被压缩的已确定的候选数据包括在数据页中的冗余位元组字符串数据,该冗余位元组字符串数据包括匹配在多列之间长度不超过预定阈值水平的数据。本专利技术的进一步的特征和优点,以及其各种实施例的结构和运作会结合附图在下面详细介绍。请注意本专利技术不限于此处所描述的具体实施例。这里的实施例仅用于说明目的。基于本文包含的教导,额外的实施例对于本领域的技术人员是明显的。附图说明纳入本说明并构成本文一部分的附图,描绘了本专利技术的实施方式。附图及其描述进一步说明了本专利技术的原理,并容许相关领域技术人员制作及使用本专利技术。图I说明了可以实行本专利技术的软件实现程序的计算机系统的一般框图。图2说明了适用于实施本专利技术的客户端/服务器数据库系统200的一般结构。图3是根据本专利技术的一个实施例说明了为减少在数据库系统中数据存储要求的整体流程图。图4描述了一个示例表中压缩之前的行格式。图5是根据本专利技术的一个实施例描述了该示例表中压缩后改变的行格式。 图6描绘了拥有图4例子中没有压缩的行格式的样本数据的输入行。图7描绘了使用了图6中相同的输入数据并利用本专利技术的压缩方法的一个实施例的行结果。图8是根据本专利技术的一个实施例描绘了包括页字典的页代表。图9是根据本专利技术的一个实施例描绘了基于页字典压缩后的示例表数据使用页字典结果的行格式。图10描绘了一个样本表的标准行格式。图11描绘图10中样本表的样本数据。图12是根据本专利技术的一个实施例描述了当同时使用页字典压缩和页索引压缩时的页代表结果。图13是根据本专利技术的一个实施例描绘了拥有页索引压缩的图11中样本数据的行格式。图14是根据本专利技术的一个实施例描绘了当同时应用压缩技术在页和行边界时的行格式。本专利技术会结合附图在以下详细描述。在附图中,参考编号通常指相同、功能相似和/或结构相似的组件。一般来说,参考编号最左方的数字指出该参考编号最初出现的附图的号码。具体实施例方式对于本专利技术以下的详细说明,请参照附图,附图描述了本专利技术相对应的示范实施例。其他的实施例是可能的,在本专利技术的精神和范围内可以对实施例进行修改。所以,这里的详细描述没有限制本专利技术的范围。相反地,本专利技术的范围是被权利要求书所定义。如下文描述,对于本领域的技术人员,此专利技术明显地可以在附图中软件、硬件、韧体和/或者实体的不同实施例中执行。本专利技术不会被任何利用专门硬件控制去实践本专利技术的实际软件代码而限制。因此,本专利技术的操作性能会在理解改装和变动实施例是可能的基础上,在本专利技术的精神和范围内陈述。参照附图,现在描述本专利技术的示例性实施例。下面的描述将集中在目前优选的本专利技术的实施例,其被在诸如微软操作系统的操作系统下运行的联网环境中工作的桌面和/或服务器软件(例如驱动器、应用程序等等)中实现。但是本专利技术并不局限于任何一个具体应用或任何具体环境。实际上,本领域技术人员会发现本专利技术的系统和方法可以有利地实现于各种不同平台,包括Linux, Solaris, UNIX, IBM AIX等等上。因此,下面的示例性实施例的描述用于说明而不是限制目的。示例性实施例主要是参照框图或流程图描述的。至于流程图,流程图中的每个框表示方法行为和用于执行该方法行为的设备组件。根据实现方式,相应的设备组件可以用硬件、软件、固件或其组合来配置。本专利技术可以在传统或通用计算机系统,诸如IBM-兼容个人计算机(PC)或服务器计算机上实现。图I说明计算机系统(例如IBM兼容系统)的大致框图,其中可以实现本专利技术的软件实现的处理。如所示的,系统100包括耦连到随机存取存储器(RAM) 102的(一个或多个)中央处理单元(CPU)或(一个或多个)处理器101、只读存储器(ROM) 103、键盘106、打印机107、指针装置108、显示器或连接到显示装置105的视频适配器104、可移动(大容量)存储装置115(例如软盘、⑶-ROM、⑶-RXD-RW、DVD等等)、固定(大容量)存储 装置116 (例如硬盘)、(一个或多个)通信(COMM)端口或接口 110、调制解调器112和网络接口卡(NIC)或控制器111(例如以太网)。尽管没有独立显示,实时系统时钟以传统方式包括于系统100中。CPU 101包括用于实现本专利技术的任何适当的处理器,如因特尔奔腾系列微处理器的处理器。CPU 101与系统的其它组件通过双向系统总线(包括任何必需的输入/输出(I/0)控制器电路和其它“粘接(glue)”逻辑)通信。包括用于寻址系统存储器的地址线的总线提供各个组件之间的数据传递,这在本领域是众所周知的。随机存取存储器102用作CPU101的工作存储器。在一个典型配置中,使用若干兆字节或吉字节的RAM。在不偏离本专利技术的范围下,可以使用更多或更少的存储器。只读存储器(ROM) 1-3包含基本输入/输出系统代码(BIOS)-应用程序和操作系统可以用来与硬本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:杨新军钱旭东
申请(专利权)人:赛贝斯股份有限公司
类型:发明
国别省市:

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

1