论文部分内容阅读
随着互联网应用和计算机技术扩展到社会生活的各个方面,数据量呈现出爆炸式的增长。今天,存储和处理大规模数据和超大规模数据已经成为企业面临的全新挑战。为此,行业内提出了多种解决方案来满足海量数据处理的要求。云计算是目前比较流行的一种,它的基本思想是将海量数据的处理和分析工作从部署在并行数据库上的高端服务器转移到更廉价的无共享体系结构中的低端服务器集群上。随着云计算技术的日益发展,越来越多的应用程序将被转移到云端,数据库系统也不例外。但如果将数据进行分布式存储,数据库系统所需的ACID(原子性、一致性、隔离性、持久性)四个特性可能导致系统性能不佳,特别是连接操作。为了解决这些问题,本文设计了集成MapReduce和数据库的分布式多维数据仓库系统DMDWH (Distributed Multi-Dimensional Data Warehouse),其中包括五个组成部分:客户端、元数据库、查询引擎、数据加载器和Hadoop扩展集群。在数据放置方面,提出了三种高效的存储策略:表的全复制、独立水平划分和联合水平划分策略,尽可能把相关数据存储在一个节点上,大大增加了在本地执行连接的机会,避免了跨节点的网络通信开销和数据传输代价。在查询优化方面,添加了编译器、优化器、生成器和执行器形成了一套完整的查询引擎,并在生成器中添加了基于代价的优化,产生最优的执行计划。最后对Hadoop的InputFormat和OutputFormat数据接口进行了扩展设计,实现真正意义上的并行地从RDBMS中获取输入数据和输出数据。DMDWH多维分布式数据仓库可以充分发挥RDBMS技术和MapReduce计算架构的优势,使得RDBMS的索引等查询优化技术与MapReduce的高并行性、易操作性、可扩展性完美地结合。最后通过实验证明了该系统架构具有良好的加载性能、查询性能和容错性能,可以为数据仓库应用提供快速高效的并行查询。