基于数据分组方法的数据仓库并行预计算和查询(一)的论文

上传人:F****n 文档编号:86010548 上传时间:2019-03-14 格式:DOCX 页数:19 大小:32.77KB
返回 下载 相关 举报
基于数据分组方法的数据仓库并行预计算和查询(一)的论文_第1页
第1页 / 共19页
基于数据分组方法的数据仓库并行预计算和查询(一)的论文_第2页
第2页 / 共19页
基于数据分组方法的数据仓库并行预计算和查询(一)的论文_第3页
第3页 / 共19页
基于数据分组方法的数据仓库并行预计算和查询(一)的论文_第4页
第4页 / 共19页
基于数据分组方法的数据仓库并行预计算和查询(一)的论文_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于数据分组方法的数据仓库并行预计算和查询(一)的论文》由会员分享,可在线阅读,更多相关《基于数据分组方法的数据仓库并行预计算和查询(一)的论文(19页珍藏版)》请在金锄头文库上搜索。

1、基于数据分组方法的数据仓库并行预计算和查询(一)的论文论文 关键词:数据仓库并行 计算 消息传递接口商立方体论文摘要:目前很多数据仓库的原始数据量已经超过了t字节级,在单处理机机器上运行数据量如此庞大的数据仓库是十分困难。因此,并行计算技术对于数据仓库技术的介入是无法避免的,并行计算技术为提高运算能力和存储能力这影响数据仓库性能的两大重要因素提供了技术基础。本文详细介绍了基于数据分组方法的数据仓库并行预计算和查询的方法,其主要思想是将数据仓库基表中的数据进行分割,分发到各台计算机上后,并行地对数据进行预计算,并根据预计算完成后,立方体数据存储的分布性,并行地进行查询。本文首先介绍了数据仓库和并

2、行计算的基本概念,并根据商立方体的特点提出了基于数据分组方法的数据仓库并行预计算和查询的方法。本文对该方法的具体实现进行了描述,并分析了在刀片服务器上运行后得到的各项结果。基于数据分组方法的数据仓库预计算和查询方法的并行策略相对较简单,但在现实应用中,通过实验观察和对实验数据的分析,证明了这种方法是可行的,数据仓库的预计算性能于查询性能都得到了令人满意的提高。第一章 绪论随着计算机应用的普及,人们的社会活动已经越来越多地依赖于计算机的使用。人类的各种社会活动,例如商品交易、 科学 实验都产生了巨大的数据量。这些长年累月积累下来的数据量极为巨大,虽然看似杂乱无章,但是里面却隐含着社会科学和 自然

3、 科学的各种 规律 。如何更好地去利用这些数据,从数据中寻找出这些规律来造福社会,是人们面临的另一个重要问题。传统的信息处理方式,如数据库,是以单一的数据为中心的事务处理,它可以让人们在可以接受的时间范围内完成对数据的各种事务操作,但是对于发掘数据中的规律却是无能为力。为此人们发明了很多新的计算机技术从这些数据中寻找出其隐含的规律,数据仓库便是其中的一种。为了更好、更快速地执行用户对数据仓库的查询,需要对原始数据集进行预计算。预计算就是将人们会在查询中希望得到的,将很多记录依照其某项属性进行某种聚集操作(和、最大、最小等等)后的结果,进行预先的计算处理。这样便可以提高查询的响应速度,减少响应时

4、间,提高人们数据仓库的利用效率。由于预计算所产生的数据集合必须考虑到每条记录的聚合,所以产生的数据量是原始数据集的数百倍甚至千倍。人们对于预计算的计算量要求也是巨大的。目前很多数据仓库的原始数据量已经超过了tb级,在单台机器上是根本支持不了数据量如此庞大的数据仓库,因此,并行计算技术的介入是无法避免的,它为提高运算能力和存储能力这两大重要因素提供了技术基础。并行计算是唯一能够处理这么大量信息的计算技术。本文将研究如何把并行计算技术引入到数据仓库的预计算和查询中,并通过实验来支持这种做法的有效性。希望可以为数据仓库的并行处理技术提供一种新的思路。目标本文的研究目标是提出一种数据仓库并行处理技术,

5、它使用mpi实现,能够在多种平台上运行,能有效地实现立方体预计算加速以及查询加速。本文安排本文的余下部分将如下安排:第二章是介绍本文研究的相关背景,将描述本文中涉及的关于数据仓库和并行计算的概念。第三章概括性地介绍了mpi,包括mpi标准 发展 史,mpi编程中经常使用到的点对点通信原语和通信模式以及mpi程序的基本结构。第四章将介绍商立方体提出的目的,商立方体的特性,预计算算法以及查询算法。第五章描述了基于数据分组方法的数据仓库并行预计算和查询方法的基本思路与实现步骤,并对该方法的正确性做了初步的证明。第六章详细描述了并行预计算程序和并行查询程序的具体实现与工作流程。第七章通过实验测量的数据

6、来说明本文提出方法的有效性和对于预计算和查询性能的提高。第八章对本文的工作进行了 总结 ,说明了本文的主要成果和存在的不足,并为进一步的工作进行了展望。第二章 背景自计算机发明后,人类文明进入了一个前所未有的高速发展阶段。计算机技术的应用缩短了许多新技术的研发周期,新技术往往意味着更高的生产力、更好的产品和更低的成本。计算机自身也得益于这些新技术,越来越多的商业公司和个人可以负担得起计算机的使用费用,计算机逐渐普及。随着计算机技术应用的广泛性日益增加、性能不断地提高,加上互联网等革命性技术的出现,人们开始进入信息化社会,信息已经成为人类社会不可或缺的重要资源。社会信息化使得社会活动如:商业交易

7、,科学实验,数据统计等所产生的数据急剧地增长,而在这些数量巨大,看似杂乱无章的数据中,隐藏着社会活动和自然科学的规律。例如人们的购买习惯、dna的作用。分析数据,学习其中的规律成了人们迫切的目标。但是,数据的数量级已经远远地超过了人脑所能处理的范围,因此,人们只能将希望寄托在计算机上。数据仓库面对爆炸性膨胀的数据和不断提升的应用要求,数据库技术也在不断地提高着数据库应用的作用和价值。传统的数据库技术主要擅长于提供以数据为中心,通过数据库对一个或一组数据记录进行查询和修改等的面向具体、特定应用的服务,它可以满足响应时间、数据可靠性和完整性等方面的要求。这些传统的事务处理系统已经比较成熟,在 企业

8、 和组织中应用也十分普遍,随着各种组织的日常事务处理的信息化,数据分析和决策支持应用成了必然的趋势。如何有效地利用 历史 数据为决策分析做支持,是近年来数据处理研究领域的热点。对数据进行分析处理的要求使得传统的数据库技术不能满足要求,为了解决这个问题,inmoninm02提出了数据仓库的概念。他对于数据仓库是这样定义的:数据仓库就是一个用以更好地支持企业或组织的决策分析处理、面向主题的、集成的、不可更新的、随时间不断变化的数据集合。数据仓库有以下特点: 面向主题(subject-oriented):数据仓库中的数据是面向主题进行组织的。 集成(integrated):数据仓库中通常集成了多个异

9、质数据源的数据。在集成过程中,需要对数据进行清洗、转换以保证数据的一致性。 稳定(nonvolatile):数据仓库中的数据是反映一段相对长时间内历史数据的内容,是不同时间数据库快照的集合,以及基于这种快照进行统计、综合和重组的导出数据。所设计的操作主要是数据查询,一般不会进行修改操作。 随时间变化(time-variant):数据仓库随时间变化不断增加新的内容,删去旧的内容。数据仓库技术在过去的一段时间内发展迅速,已经成功地应用到电信、银行、保险等行业。随着企业信息化的不断深入,这种发展还会持续。联机分析处理与数据立方体为了让决策支持人员更好地去分析处理数据仓库中的海量数据,e. codd于

10、1993年提出了联机分析处理(olap: on-line analytical processing)的概念ccs93a, ccs93b。olap工具通过对信息的多个角度(维)进行快速、一致、稳定的交互访问,决策支持人员可以深入地进行观察。olap工具是为了满足更高效地进行多维分析的需求而产生的,其主要功能是根据用户所选择的分析角度,事先计算好一些辅助结构,以便在查询对能够抽取到所需要的记录。olap系统中的数据通常会以一个多维的结构模型表现出来。表是一个简单的销售数据仓库的基表(base table),基表中的一条记录称为元组(tuple),该基表中一条元组有三个属性:时间、产品名称和地点,

11、在这里被称为维度(dimension),这些维用来表示和区分开不同的数据。销量属性是一个数值类型的度量值(measure),是人们想要去分析的数据。维度通常也会分层次(hierarchy),例如时间维度可能会分为年、月、日、季度等层次。地点产品名称时间销量广州(gz)篮球(b)(m1)20广州(gz)足球(f)(m2)15深圳(sz)篮球(b)(m1)25表销售数据仓库的基表数据立方体(data cube)是由gray等人提出gcb+97。它是对所有维度的所有可能结合,根据不同聚集粒度进行group-by操作而产生的一个概括化数据集合。每一个group-by操作都与一个单元(cells)的集合

12、相关联,数据立方体关于表的所有单元都在表中列出,在表中,“*”表示在这一维度中,它可以匹配到这个维度值域中的任何一个值。上卷(roll-up)和下钻(drill-down)是数据立方体中的两种基本语义关系。一个较高聚集层次的单元可以下钻到一个较低聚集层次的单元,如:(gz, *, m1)下钻到(gz, b, m1)。一个较低聚集层次的单元可以上卷到一个较高聚集层次的单元,如:(sz, b, m1)上卷到(*, b, *)。一个立方体中的所有单元间的上卷/下钻关系构成了一个网格结构。图中表现出了表中的立方体网格。地点产品名称时间总和(销量)gzbm120gzfm215szbm125gzb*20g

13、z*m120*bm145sz*25*f*15*m145*60表 数据立方体中的单元shape * mergeformat图 数据立方体网格并行计算大规模科学与工程计算应用使得人们对计算机性能要求不断提高。例如天气预报、空间模拟、石油勘探等科学计算对计算机的性能要求可以说是无穷无尽的。单台作业的计算机是根本无法满足这种计算需求的,因此人们便开始尝试应用新技术使得多台单独作业的计算机可以协调地共同进行工作,并行计算机便开始逐步走入人们的视野。并行计算是伴随着并行计算机的出现,在近三十年来迅速发展的一门交叉学科,是指在并行计算机上,将一个应用分解成多个子任务,分配给不同的处理器,各个处理器之间相互协

14、同,并行地执行子任务,从而达到加快求解速度,或者提高求解应用问题规模的目的zcml06。并行计算必须具备三个基本条件:(1)并行计算机。并行计算机至少浩瀚两台或两台以上处理机,这些处理机通过互联 网络 相互连接,互相通信。 (2)应用问题必须具有并行度。应用可以分解为多个子任务,并且这些子任务可以并行地执行。(3)并行编程。在并行 计算 机提供的并行编程环境上,具体实现并行算法。并行编程模式编程模式是程序员和计算机之间的界面,它是建立在计算机体系结构之上的程序的抽象,它定义了程序的设计与其实现之间的接口。在并行计算机 发展 的 历史 过程中,人们提出过许多适合不同并行体系结构的编程模式st98,经过时间的淘汰,目前比较流行的并行编程模式基本上趋向于以下三种chen99, du01, zcml06: 消息传递模式:程序的执行分为多个进程,用户需要显式地为每个进程分配数据和指令。进程都在自己的私有空间中运行,显式地通过发送和接收消息进行交互。有同步通信和异步通信两种方式。消息传递模式为程序员提供了更灵活的控制手段和表达并行的方法,因此消息传递并行程序往往能达到高的执行效率。但由于程序员需要显式地指定进程间的信息交换、协调和控制,编写基于消息传递模式的并行计算程序对于程序员的能力要求比较高。尽管如此,消息传递仍然是目前最常用的并行编程模式。mpimpi03a, mpi03b和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号