论文部分内容阅读
在信息量呈指数级增长的今天,我们需要数据库管理系统(DBMS)能够处理上G、上T、甚至上P的海量数据。这就对数据库管理系统提出了挑战,即如何有效地存储和管理海量数据并高效的支持上层的查询。海量科学与统计数据(例如:地震监测、天气预报、物理化学实验等数据)中存在着大量的数据冗余,即相同的数据会在不同的地方多次重复出现,这不仅浪费了存储空间,而且降低了查询效率。压缩技术由于节省存储空间和I/O带宽而被广泛应用于数据的存储和传输中。正是海量数据的出现,使得压缩技术与数据库技术结合了起来,产生了压缩数据库技术。压缩数据库技术的研究内容包括数据压缩算法及压缩数据上的查询算法。科学与统计数据库(Scientific and Statistical Database, SSDB)具有如下特点:(1)关系的模式稳定、属性值的值域有限、数据冗余大;(2)新产生的数据只追加到当前数据末尾而不更新已有内容;(3)每个关系都由大量属性组成,但大多数查询只与少数几个属性相关且多为只读操作。上述特征都适合于将压缩数据库技术集成到SSDB中去。因此,本文的研究内容包括:研究适合于科学与统计数据库的数据压缩算法及存储结构;研究在压缩科学与统计数据库上的查询处理技术,包括数据操作算法和查询优化算法。本文的主要研究结果如下:提出了适合科学与统计数据库的两种数据压缩存储策略,其分别为CCSS(Column-Compressed Storage System)和RCSS(Row-Compressed Storage System)。CCSS是一个按列压缩存储系统,它采用不同的存储结构和编码,以不同粒度对关系中的属性按列存储并压缩,从而将对原始数据的查询操作转换为对(压缩)数据的操作,实现不解压直接查询,简化了查询实现。RCSS是一个基于字典压缩的按行存储系统。本文详细介绍了RCSS的压缩存储结构(包括编码字典和压缩数据页的格式、系统字典的扩充)以及具体的压缩、插入和删除算法。RCSS与非压缩数据库存储系统提供相同的接口,可以在维持现有系统上层模块(索引、查询处理等)不变的情况下,实现压缩技术与数据库系统的有效结合。RCSS的压缩方法具有简单、通用的特点,理论分析表明RCSS压缩的有效性;针对CCSS这种存储策略,给出了相应的数据操作算法,包括选择、投