基于支持列存储的数据压缩算法研究

来源 :南京理工大学 | 被引量 : 0次 | 上传用户:a1402070128
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于日益庞大的业务处理,许多决策系统和OLAP系统的数据正在朝着TB数量级发展。面对各种存储了海量数据的巨型表,如何充分利用存储空间,节省系统维护成本,在查询海量数据时取得更好的性能,引起了数据库研究者们越来越多的关注。而将数据压缩技术引进数据库系统,成为了解决大数据量环境下数据库性能问题的有效手段之一。在传统的关系型数据库中,数据均是按行存储的(行存数据库),即关系表中同一条记录的不同属性值被依次顺序存放在物理磁盘上。遗憾的是,由于记录中不同的属性值通常取值于不同的值域,彼此间的相关性很小,导致按行存储的数据存储方式并不利于数据压缩的实现。列存数据库消除了行存数据库在数据压缩领域的不利条件。在列存数据库中,连续存储的数据均来源于同一个值域,而对同一个值域内的数据进行压缩正是各种经典数据压缩算法实现的前提和关键。为此,本文对如何将各种经典的数据压缩算法融入列存数据库进行了研究。首先,本文阐述了列存环境下数据压缩的重要意义,并对数据压缩技术的发展历程和国外主流列存商业数据库的现状进行了分析;其次,综述了数据压缩的相关概念以及列存数据库在数据压缩领域的巨大优势,并详细讨论了各种经典的数据压缩算法,具体包括了赫夫曼编码、算术编码、LZ77算法、LZW算法、RLE算法和空值压缩算法等。随后,本文深入研究了列存压缩运算库的结构设计。列存压缩运算库由压缩数据物理存储机制、压缩模块和数据源模块三个部分构成。其中,物理存储机制描述了不同压缩数据在列存数据库中同时存储的合理方案,是列存环境下各种压缩算法实现的必要保证;压缩模块则封装了具体压缩算法的细节,并负责对外提供统一的解压接口;而数据源模块扮演着通信媒介的角色,为压缩模块与数据库存储层之间的消息和数据传递提供服务。此外,通过归纳各种压缩数据的属性,本文对传统的数据库执行器算子进行了相应的改进,从而实现了压缩数据在压缩态下的直接查询。最后,本文以国产数据库神舟OSCAR为平台,具体实现了上述各项关键技术。通过对相关的性能测试结果进行对比分析,验证了本文所述内容的正确性和有效性,在减少列存数据库存储规模的同时,进一步自动优化了数据库系统的性能。
其他文献
高效可靠的路面裂纹自动检测与识别系统对交通安全具有重大意义,而传统的道路检测技术已无法满足实时性与高效性要求,故设计一种高水平的路面裂纹自动检测与识别系统成为目前
随着数据库技术的发展,越来越多的行业的建立了自己的数据库系统。随着企业的不断扩张及管理信息的不断完善,企业数据库往往需要管理几百G甚至几T的数据量。随着数据库数据量的
随着电脑的普及,网络技术的发展,目前各种类型的考试都逐渐采用计算机出题,并且随着网络时代的到来和迅速发展,用计算机进行在线考试已经成为了一种不可逆转的趋势。网络考试
软件测试是提高软件可靠性和保证软件正确性最基本和最重要的手段,而测试用例的设计又是软件测试的核心,是软件测试质量的根本保障。随着软件系统规模的日益扩大和应用领域的
三维人体建模技术一直是国内外众多学者研究的热点。不同应用领域对人体模型的创建要求各不相同。如何快速创建个性化人体模型也就成为建模的关键和研究的重点。针对上面的问
本文提出了一种灵活的处理分析多文件程序评分的方法,这种评分方法在自动评分系统中使用动态和静态实现方式。静态和动态评分都可以分析使用多个程序文件来解决一个编程问题的
随着互联网时代的来临,Web已经成为世界上最大的信息源,给人们生活带来了极大的方便。但是Web在给人们提供丰富信息的同时,又使人们在对它们的有效使用方面面临一个巨大的挑
随着网络技术迅速发展与分布式计算的日益成熟,企业数据库的应用正不断向着分布式、大型化的方向发展。然而不同的企业或企业的不同部门根据自身需要或者由于历史或技术的原
随着现代信息技术的快速发展和迅速普及,人类的生产、工作和生活方式正发生着深刻的变化。以高校为例,现代信息技术的发展为高校教育信息化建设提供了新的工具和手段。最近几
农作物病虫害的爆发意味着农作物的大规模减产和品质下降,同时农户盲目施药也导致了农药残留超标、环境破坏等严重后果。随着计算机技术的发展,机器视觉技术的研究与应用已经