基于SSAS的数据仓库的建立和关键技术研究_第1页
基于SSAS的数据仓库的建立和关键技术研究_第2页
基于SSAS的数据仓库的建立和关键技术研究_第3页
基于SSAS的数据仓库的建立和关键技术研究_第4页
基于SSAS的数据仓库的建立和关键技术研究_第5页
免费预览已结束,剩余50页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 本科毕本科毕业论文业论文 (科研训练、毕业设计) 题题 目:基于目:基于 SqlSql ServerServer AnalysisAnalysis ServicesServices 数据仓库建立和关键技术研究数据仓库建立和关键技术研究 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师: 职称: 年 月 摘要 II 基于基于 SqlSql ServerServer AnalysisAnalysis ServicesServices 数据数据 仓库建立和关键技术研究仓库建立和关键技术研究 摘 要 随着信息化的深入,数据的规模日益扩大,形成了数据量大、分散、 格式异化等特点,这些数据中包含了大量的潜在的对决策者有价值的知识此产 生了数据仓库和数据挖掘技术。而学习这些海量数据所蕴含的知识,就必须建 立数据仓库的环境用以数据挖掘和联机事务分析等用途。因此数据仓库的建立 问题也日益成为人们研究的重点。数据仓库的建立主要涉及到数据的 ETL 处理 过程、数据仓库数据组织、数据仓库的实现平台等问题。 本文论述了数据仓库的建立的原理和一般步骤,在理论上探究了 ETL 技 术、维度建模、元数据处理等数据仓库建立的关键技术。详细论述了利用 SQL Server Integration Services 实现 ETL 技术的方法。并且选择微软 Sql Server Analysis Services 数据仓库平台通过实例论述了基于 Sql Server Analysis Services 数据仓库的建立的实现方法和相关技术。从理论 和实践两个方面探究数据仓库建立的问题。 关键词 数据仓库 ETL SSAS SSIS 摘要 III The establishment of DataWarehouse based on Sql Server Analysis Services and the research of the key technologies Abstract With the in-depth information, increasing the size of the data and formed a large amount of data, scattered, alienation, and other characteristics of format, the data contained in a large number of potentially valuable knowledge of the decision-makers have this data warehouse and data mining Technology. The study of these massive data implied in knowledge, we must establish an environment for data warehousing and data mining, such as use of on-line services. Therefore the establishment of data warehouse issues are also increasingly become the focus of the study. The establishment of data warehouse mainly related to the ETL data processing, data storage data organization, data storage platform for the realization of such issues. This dissertation discusses the establishment of a data warehouse and general principles of the steps, in theory, explore the ETL technology, Dimension modeling, meta-data processing data warehouse to establish the key technology. Discusses in detail the use of SQL Server Integration Services ETL technology to achieve the method. And choose Microsoft Sql Server Analysis Services data warehouse platform based on the examples discussed Sql Server Analysis Services data warehouse to achieve the establishment of methods and related technologies. From the theoretical and practical aspects of the two explore the issue of the establishment of data warehouse. Key words DataWarehouse ETL SSAS SSIS 目录 IV 目 录 第一章 概述1 1.1 数据仓库概述 .1 1.1.1 数据仓库的概念 .1 1.1.2 从数据库到数据仓库 .2 1.1.3 数据仓库的组成3 1.2 建立数据仓库的意义 .5 1.3 数据仓库国内外研究背景 .5 第二章 微软数据仓库架构 8 2.1 微软数据仓库工具集 .8 2.2 MICROSOFT SQL SERVER 2005 ANALYSIS SERVICE8 2.2.1 Microsoft SQL Server 2005 Analysis Service 概述.8 2.2.2 Microsoft SQL Server 2005 Analysis Service 的体系结构.9 2.2.3 Microsoft SQL Server 2005 Analysis Service 的优点11 2.3 本章小结 12 第三章 数据仓库的建立13 3.1 数据仓库的建立概述 13 3.2 数据仓库建立的一般步骤 14 3.3 数据仓库建立的关键技术 14 3.3.1 数据的 ETL 过程.14 3.3.2 元数据 17 3.3.3 数据仓库的数据组织 18 3.3.4 维度建模 19 3.4 数据仓库建立存在的问题 20 3.5 本章小结 21 第四章 SSAS 数据仓库的实现22 4.1 ETL 模块的实现.22 4.1.1 SQL Server Integration Services 介绍.22 4.1.2 基于 SSIS 的 ETL 模块实现 .25 4.2 基于 SQL SERVER SSAS 的数据仓库实现 .28 4.2.1 定义多维数据集 28 4.2.2 定义修改维度属性 32 4.2.3 定义 MDX 表达式和脚本 36 4.2.4 定义 KPI.38 4.2.5 定义操作 41 4.3 本章小结 42 第五章 总结与展望 .43 目录 V 5.1 总结 43 5.2 展望 43 致谢.45 参考文献 .46 目录 VI Content Chapter Data warehouse overview1 1.1 Data Warehouse Overview1 1.1.1 Datawarehouse concept.1 1.1.2 From Database to DataWarehouse2 1.1.3 Component of DataWarehouse3 1.2 Significance of the establishment of data warehouse5 1.3 The significance of the establishment of data warehouse .5 Chapter Microsoft data warehouse architecture 8 2.1 Microsoft Data Warehouse Toolkit.8 2.2 Microsoft SQL Server 2005 Analysis Service 8 2.2.1 Concept of Microsoft SQL Server 2005 Analysis Service8 2.2.2 Architecture Microsoft SQL Server 2005 Analysis Service 9 2.2.3 Strongpoint of Microsoft SQL Server 2005 Analysis Service.11 2.3 Summary12 Chapter the establishment of data warehouse.13 3.1 The establishment of data warehouse outlined .13 3.2 The general steps to establish a Data Warehouse14 3.3 The key technologies of the establishment of data warehouse .14 3.3.1 Process of ETL.14 3.3.2 Metadata 17 3.3.3 Organization of the data of warehouse data 18 3.3.4 Dimension Modeling.19 3.4 The issue of the establishment of data warehouse20 3.5 Summary21 Chapter The achieve of DataWarehouse of SSAS 22 4.1 Achieve of the module of ETL22 4.1.1 SQL Server Integration Services22 4.1.2 Achieve of the ETL module based on the SSIS.25 4.2 Achieve of the Datawarehouse based on the SSAS28 4.2.1 Definition of multi-dimensional data sets28 4.2.2 Definition of the Dimension attribute32 4.2.3 Definition of MDX expressions and scripts.36 4.2.4 Definition of KPI38 4.2.5 Definition of operating 41 4.3 Summary42 Chapter Summary and Outlook43 5.1 Summary43 5.2 Outlook.43 Acknowledgement 45 References .46 目录 VII 基于 Sql Server Analysis Services 数据仓库建立和关键技术研究 1 第一章第一章 概述概述 近年来,随着数据库系统的成熟应用,数据在各行各业已经起到了举足轻重的作用。无 论是日常生活还是经济生产,数据库的应用已经深入到我们社会的方方面面之中。随着数据 库系统 OLTP 应用的深入,数据已经成为社会生活的重要组成部分。大量数据的产生,也使 得人们希望能够在庞大的数据海洋中找到知识和信息。于是数据仓库(Data Warehouse 简称 DW)就成为了计算机领域的新研究方向。数据仓库的产生,使得人们不单单关注于数据的实 时处理问题,更将目光投向从事务型数据库系统中取出有用的数据转换成有规律有意义的信 息的研究中。 数据仓库环境的构建主要的目的就是为了能够从系统的大量历史数据中分离出有用的信 息做基础。所以数据仓库、数据挖掘(Data Mining)和联机事务处理(On-Line Analysis Processing,简写为 OLAP)就组成了决策支持系统(decision support system ,简称 DSS), 并且进入了 DSS 的实用化的阶段。而在 DSS 中,数据仓库环境的构建是海量数据转换为决策 信息的基础和平台。所以在 DSS 系统中,如何建立数据仓库环境是进行决策的基础。本文希 望通过对于微软公司推出的 Sql Server 数据库系统中的基于 SSAS 数据仓库的建立研究中探 究数据仓库的建立和关键技术的应用。 本章详细论述了数据仓库的一些基本概念和数据仓库的组成元素。论述了数据仓库建立 的意义和目的,分析了数据库到数据仓库的转变。同时也对国内外对于数据仓库的研究背景 做了介绍。 1.1 数据仓库概述数据仓库概述 .1 数据仓库的概念数据仓库的概念 数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的 (Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support) 1。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库 用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库 是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放 第一章 概述 2 在数据仓库中的数据一般不再修改2。数据仓库的建立,都是建立都是以企业传统的业务型 实时数据库系统和大量的业务数据的积累为基础的。数据仓库不是一个静态的概念,数据仓 库系统不是一个可以直接供企业决策人员使用的产品。而是一个为企业决策人员提供信息整 理归纳和重组的环境。同时数据仓库系统也是一个不断更新整合数据的一个动态的环境和过 程。同时数据仓库拥有以下几个特点3: (1)面向主题:操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分 离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户 使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。 (2)集成的:面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相 互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理 的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓 库内的信息是关于整个企业的一致的全局信息。 (3)相对稳定的:操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。 数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数 据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作, 但修改和删除操作很少,通常只需要定期的加载、刷新。 (4)反映历史变化:操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中 的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到 目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和 预测。 .2 从从数据库到数据仓库 数据库系统一直是计算机应用中的一个核心技术。数据库技术是以单一的数据资源及数 据库为对立对象,通过对数据的处理来实现事处理、批处理到决策分析等各种类型的数据处 理工作。数据库系统中有着大量的实时日常业务数据,是企业OLTP应用中的一个重要组成部 分。但当传统数据库系统用于DSS时,就会碰到许多的问题。其中最为主要的问题是数据库 系统中的数据是为了日常的事务处理所设计的,其不满足DSS对于分析型数据的要求。表一 中就可以见到数据库系统中的操作型数据和DSS所要求的分析型数据之间的差异和区别。 基于 Sql Server Analysis Services 数据仓库建立和关键技术研究 3 表一4 操作型数据和分析型数据的差别 操作型数据分析型数据 细节的综合的、提炼的 在存取瞬间是准确的代表过去的数据 可更改的不可更改的 操作需求事先知道操作需求事先不知 生命周期符合SDLC生命周期不符合SDLC 对实时性能要求高对实时性能要求不高 一个时刻操作一个单元一个时刻操作一个集合 事务驱动分析驱动 一次操作数据量小一次操作数据量大 支持日常操作支持管理需求 面向应用面向分析 所以事务型的面向业务的实时数据库处理系统并不符合DSS的需求和应用要求。这种情 况下数据资源将难以进行充分合理的应用。随着社会的需求和技术的发展,人们尝试对数据 库中的数据进行再加工,形成一个综合的、面向分析的环境,以更好的支持决策分析。数据 仓库正是在这种情况下提出并发展起来的一种新型的数据库技术。这种技术以分析型操作为 主,主要是利用企业数据库中的大量的历史数据资源,面向企业各层管理人员,为商务运作 提供结构与工具,以便系统地组织、理解和使用数据,并进行商业战略决策。至此,数据仓 库的研究和应用得到了广泛的关注。在当今这个充满竞争和快速发展的世界,数据仓库是一 个有价值地工具。它能够集成各种不同结构的数据源,并能满足对数据查询的快速响应,其 最终目的是为企业的高层管理者提供决策的信息支持。数据仓库的出现掀起了数据库技术的 一场“革命”,它解决了以前用数据库技术所不能解决的问题,是计算机应用领域里的一个 崭新方向,己成为现代信息系统体系结构新的技术焦点5。 .3 数据仓库的组成数据仓库的组成 数据仓库的组成主要有:数据仓库数据库、数据抽取工具、元数据、访问工具、数据集 市、数据仓库管理、信息发布系统。以下是数据仓库的各个组成部分的介绍3: 第一章 概述 4 数据仓库数据库:是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的 支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。 数据抽取工具:把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存 放到数据仓库内。数据转换都包括:删除对决策应用没有意义的数据段;转换到统一的数据 名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。 元数据:元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不 同分为两类,技术元数据和商业元数据。 技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库是用的数据。包 括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更 新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历 史记录,信息发布历史记录等。商业元数据从商业业务的角度描述了数据仓库中的数据。包 括:业务主题的描述,包含的数据、查询、报表; 元数据为访问数据仓库提供了一个信息 目录(Informationdirectory),这个目录全面描述了数据仓库中都有什么数据、这些数据怎 么得到的、和怎么访问这些数据。是数据仓库运行和维护的中心,数据仓库服务器利用他来 存贮和更新数据,用户通过他来了解和访问数据。 访问工具:为用户访问数据仓库提供手段。有数据查询和报表工具;应用开发工具; 管理信息系统(Enterprise Information System ,简称 EIS)工具;在线分析工具;数据挖 掘工具。 数据集市(DataMarts):为了特定的应用目的或应用范围,而从数据仓库中独立出来 的一部分数据,也可称为部门数据或主题数据(Subjectarea)。在数据仓库的实施过程中往 往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要 注意的就是再实施不同的数据集市时,同一含义的字段定义一定要相容,这样再以后实施数 据仓库时才不会造成大麻烦。 数据仓库管理:安全和特权管理;跟踪数据的更新;数据质量检查;管理和更新元数 据;审计和报告数据仓库的使用和状态;删除数据;复制、分割和分发数据;备份和恢复; 存储管理。 信息发布系统:把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基 于 Web 的信息发布系统是对付多用户访问的最有效方法。 基于 Sql Server Analysis Services 数据仓库建立和关键技术研究 5 1.2 建立数据仓库的意义建立数据仓库的意义 数据仓库的主要设计思想就是将分析决策所需的大量数据从传统的操作型环境中分离出 来,把分散的、难以访问的操作数据转换成集中统一、随时可用的信息而建立的一种数据存 储环境。在这种环境中,以汇总信息为基础,进而支持数据挖掘、多维数据分析和传统查询 及报表功能。数据仓库、数据挖掘和联机分析处理技术构成了决策支持系统的新框架,使 DSS进入实用化阶段。 由于数据仓库中巨大的数据量,如果缺乏相应的查询、报表和分析工具,数据仓库就可 能变成数据监狱。如今,行业间的竞争日趋激烈,是否能够正确的决策是一个企业能否在这 个大环境中生存和发展的关键。越来越多的企业意识到,仅拥有数据仓库,而没有高效的数 据分析手段,就难以提高数据仓库数据的利用率,只有充分利用、挖掘其现有数据,做出正 确的决策,才能实现更大的效益6。 IDC在1996年的一次对90年代前期进行的62个数据仓库项目的调查结构表明,进行数据 仓库项目开发的公司在平均2.73年的时间内获得了平均为321%的投资回报率。IDC预测,整 个数据仓库市场将以每年20.5%的速度增长。使用数据仓库所产生的巨大效益同时又刺激了 对数据仓库技术的需求,数据仓库研究开发和应用的大潮正席卷而来7。 1.3 数据仓库国内外研究背景数据仓库国内外研究背景 作为一个新的研究领域,数据仓库的研究和应用得到了广泛的关注,也很快成为数据库 市场一个新的增长点。国外有许多厂家和公司如 IBM, Oracle,Microsoft 等有实力的公司 在这个领域进行了深入的研究,相继(通过收购或研发的途径)推出了自己的数据仓库解决方 案。下面简单介绍几个具有代表性的数据仓库解决方案5: IBM 实验室在数据仓库方面进行了 10 多年的研究,并将研究成果发展成为商用产品。 IBM 公司和其他一些战略伙伴合作,提供了一系列相关产品,包括:VisualWarehouse (VW), Essbase/DB2 OLAP Server 5.0, IBM DB2 UDB,以及来自第三方的前端数据展现工具(如 BO)和数据挖掘工具(如 SAS),形成了一套基于可视数据仓库的商业智能(BO)解决方案。 Oracle 数据仓库解决方案主要包括 Oracle Express 和 Oracle Discover 两个部分,它 围绕着 Oracle 数据库工具和应用系统建立数据仓库,帮助企业访问不同格式、不同地点存 储的信息。Oracle 数据仓库的支持规模可扩展为 GB 到乃至 TB 数据量的信息量,并且提供 各种工具,在企业的各级层次上满足信息检索和商业决策需求。 第一章 概述 6 Microsoft 将 OLAP 功能集成到 Microsoft SQL Server 2005 中,并且通过一系列服务程 序支持数据仓库应用,使快速设计和建立经济合算的数据仓库变得更容易。Microsoft 以全 面的技术和服务,使数据仓库的实现过程简化、自动化和集成化,并由此降低了系统使用的 总成本,因此 Microsoft 公司的 OLAP Services 在中小型企业的决策支持系统中有较明显的 优势。 当今世界充满了激烈竞争,正确及时的决策是企业生存和发展的最重要环节,因此很多 企业都采用了数据仓库解决方案充当企业决策机构的智囊和参谋。据统计 2000 年全球 500 家大企业中有 50%的企业已经实施数据仓库或部门级数据集市,在电信、银行、零售业、航 空、铁路运输、邮政等传统数据密集型行业的全球领导厂商都己采用数据仓库作为决策支持。 近年来,随着因特网和电子商务的发展,各大数据仓库产品供应商纷纷把注意力投向电子商 务领域,并且通过数据仓库技术来构造商业智能平台。 在我国,数据仓库市场启动较晚,主要由于我国的应用基础尚不完善及企业意识不足。 但随着我国信息化建设的逐渐完善和应用意识的提高,许多行业如电信、金融、税务等逐步 认识到数据仓库技术对于企业宏观发展所带来的巨大经济效益,纷纷建立起数据仓库系统。 Oracle, IBM, Sybase、及 Informix 等厂商也为我国提供大型数据仓库解决方案。和国外 相比,国内的数据仓库市场还不成熟,主要的原因有以下几个方面: 首先,建设数据仓库的前提是要有大量的数据,特别是历史数据。近几年来我国数据库 建设有了长足的发展,但与国外的发展程度相比仍相差 20 多年时间。目前国外数据库己是 海量,而国内除了银行、电信等少数行业以外,数据积累都不够充分,数据库的规模也不大, 并且有的数据库建完以后常常没有钱维护,就变成了“死库”。 其次,数据仓库应用主要是一个建立的过程,实践性非常强,而从国内(包括外企)的情 况来看,真正能够完整实施数据仓库方案的人才严重缺乏,因此制约了国内数据仓库市场的 发展。 第三,目前数据仓库工具没有国产的,由于东西文化差异,数据表现不符合国内客户要 求,必须重新定制开发应用界面,从而延长了建设周期。同时数据仓库产品价格居高不下的 原因也影响了其在国内的推广。 另外,由于数据仓库技术体系的不成熟,无论在中国还是在世界其它国家,数据仓库的 应用都受到了一定制约。首先,数据仓库技术还没有达到数据库技术的成熟度和易用性,目 前市场上的数据仓库产品都是基于一个通用的技术平台设计的,虽然能解决不同用户的分析 需求,但没有将特殊领域的商业逻辑与数据仓库技术集成,因而分析效果不可能达到峰值。 基于 Sql Server Analysis Services 数据仓库建立和关键技术研究 7 其次,数据仓库的应用有两大类,一类是做分析型工作的 OLAP,另一类是做预测型工作的 数据挖掘。目前基于数据挖掘的算法层出不穷,还没有经历一个大浪淘沙的沉淀,而数据库 中的检索技术经过人们多年的摸索,己经形成几种固定成熟的技术模式,这是数据仓库产品 没有达到数据库产品实用性的另一个原因。所以目前数据仓库技术的发展仍处于积累阶段。 虽然数据仓库技术还需要不断完善,但是其能带来的巨大经济效益,使它的发展前景不 可限量。数据仓库应用所能够带来的巨大效益也必将刺激中国数据仓库市场的发展。前些年, 国内己经有不少的用户在 ERP、企业财务管理以及某些 MIS 应用上有了原始数据的积累,若 把这些现成的东西插上决策分析的翅膀,必可使得当今的企业如虎添翼,成为企业获得竞争 优势的有力武器。总之,中国的数据仓库市场将前景广阔,充满无限商机。 第三章 数据仓库的建立 8 第二章第二章 微软数据仓库架构微软数据仓库架构 本章介绍了微软公司的数据仓库架构,着重介绍和分析微软的 SQL Server SSAS 和 SQL Server Integration Services 工具的体系结构和作用。并且分析了 SQL Server SSAS 的相 关优点。 2.1 微软数据仓库工具集微软数据仓库工具集 设计决策支持系统首先要完成数据仓库的设计。由于数据是决策系统的核心,而且日积 月累的数据量特别大,更需要一个好的数据仓库作为基础。建立数据仓库通常有两种方法: 一是项目组自己开发整个数据仓库,这种方式工程太浩大;二是选择一个适合的数据仓库产 品。目前通常的做法就是在现有数据仓库工具的基础上进行二次开发。因此,选择合适的数 据仓库开发工具,对于提高系统的设计效率十分重要。如今许多专业数据库厂商都提供了数 据仓库的工具,如IBM、 Oracle、Microsoft、NCR Teradate等。 微软主要的数据仓库的工具集包括了:SQL Server SSAS(SSAS)、SQL Server 2005 Integration Services(SSIS)还有微软数据挖掘工具。其中SSAS可以方便地创建复杂的联机 分析处理和数据挖掘解决方案。SSAS 工具提供了设计、创建和管理来自数据仓库的多维数 据集和数据挖掘模型的功能,还提供对 OLAP 数据和数据挖掘数据的客户端访问。SSIS中, 可以方便地创建可靠而复杂的解决方案,用于执行提取、转换和加载数据的处理。SSIS工具 提供了设计、创建、部署和管理包的功能,用于处理日常的业务需求。 2.2 Microsoft SQL Server 2005 Analysis Service .1 MicrosoftMicrosoft SQLSQL ServerServer 20052005 AnalysisAnalysis ServiceService 概述概述 SSAS 为商业智能应用程序提供联机分析处理和数据挖掘功能。SSAS 允许设计、创建和 管理包含从其他数据源(如关系数据库)聚合的数据的多维结构,以实现对 OLAP 的支持。对 于数据挖掘应用程序,SSAS 允许您设计、创建和可视化处理那些通过使用各种行业标准数 据挖掘算法,并根据其他数据源构造出来的数据挖掘模型。 基于 Sql Server Analysis Services 数据仓库建立和关键技术研究 9 SSAS 通过允许开发人员在一个或多个物理数据源中定义一个称为统一维度模型的数据模 型,从而很好的组合了传统的基于 OLAP 分析和基于关系报表的各个最佳方面。基于 OLAP、报表以及自定义 BI 应用程序的所有最终用户查询都将通过统一维度模型(可提供一 个此关系数据的业务视图)访问基础数据源中的数据。 图 2.1 SSAS 的总体架构 .2 MicrosoftMicrosoft SQLSQL ServerServer 20052005 AnalysisAnalysis ServiceService 的体系结构的体系结构 SSAS 使用服务器组件和客户端组件为商业智能应用程序提供联机分析处理和数据挖掘功 能8: SSAS 的服务器组件作为 Microsoft Windows 服务来实现。SSAS 支持同一台计算机中的 多个实例,每个 SSAS 实例作为单独的 Windows 服务实例来实现。 客户端使用公用标准( XML for Analysis ,简称 XML/A) 与 SSAS 进行通信,XMLA 是 一个基于简单对象访问协议(Simple Object Access Protocol,简称 SOAP)的协议,用于发 出命令和接收响应,公开为一项 Web 服务。此外,客户端对象模型通过 XML/A(包括托管提 供程序 (ADOMD.Net) 和本机 OLE DB 访问接口)进行提供。 SSAS 的服务器组件为 msmdsvr.exe 应用程序,该程序通常作为一项 Windows 服务来运 行。该应用程序包含一个 XML/A 侦听器组件和大量执行下列功能的内部组件8: (1)分析从客户端接收的语句 (2)管理元数据 (3)处理事务 (4)处理计算 第三章 数据仓库的建立 10 (5)存储维度和单元数据 (6)创建聚合 (7)安排查询 (8)缓存对象 (89)管理服务器资源 SSAS 支持瘦客户端体系结构。SSAS 计算引擎完全基于服务器,因此,所有查询都在服 务器上进行解析。因此,每个查询只需在客户端和服务器之间进行一次来回行程,从而使得 性能可以随着查询复杂性的增加而伸缩8。 SSAS 的本机协议为 XML/A。SSAS 为客户端应用程序提供了数个数据访问接口,但是所 有这些组件都使用 XML for Analysis 与 SSAS 实例进行通信。 SSAS 提供了数个不同的访问接口,以支持不同的编程语言。访问接口借助 Internet 信息服务 (Internet Information Server ,简称 IIS),并通过 TCP/IP 或超文本传输协 定(Hypertext transmission protocol ,简称 HTTP)发送和接收 SOAP 数据包中的 XML for Analysis 来与 SSAS 服务器进行通信。HTTP 连接使用由 IIS 实例化的组件对象模型 (Component Object Model ,简称 COM)对象(称为数据抽取),该对象充当 SSAS 数据的管道。 数据抽取既不会以任何方式检查包含在 HTTP 流中的基础数据,也不会检查可用于数据库本 身中任何代码的任何基础数据结构8。 基于 Sql Server Analysis Services 数据仓库建立和关键技术研究 11 图 2.2 SSAS 的客户端架构 .3 MicrosoftMicrosoft SQLSQL ServerServer 20052005 AnalysisAnalysis ServiceService 的优点的优点 微软SSAS有以下优点9: 易用性:操作中的任何一步都有很多向导、编辑器和帮助材料提供帮助。可以使用向导 建立和编辑立方、维和级别。其他向导包括应用分析向导和基于应用的优化向导。若不用向 导,则可使用各种编辑器来完成向导的功能,甚至完成一些向导不具备的功能。 灵活性:微软OLAP服务器有多种存储模式。可以将数据立方存放在多维数据库中,或者 关系数据库中,或者是二者的结合。立方还可以被分区,并且以不同的模式存放分区。 伸缩性 :微软AnalysisS ervices同时支持基于Intel的服务器和DECA lpha服务器。 OLAP客户端可以在Windows 9x, Windows NT和Windows2000平台上运行。SSAS还解决了自定 义聚集选项、基于应用的优化、数据压缩以及分步计算等问题。 集成性 :SSAS集成于微软管理控制台 ,可以将SSAS作为NIMC的一个部件。SSAS的安全 性也集成在SQL Server和Windows NT的安全机制中。支持大量的API和函数:OLAP服务器和微 软数据透视表服务(PivottableService)支持OLE DB. ADO、用户自定义函数和决策支持对象。 第三章 数据仓库的建立 12 2.3 本章小结本章小结 微软所提供的 SSAS 和 SSIS 以及数据挖掘工具使得数据仓库的使用者能够通过微软的 数据仓库产品进行二次开发,从来省去了自己开发数据仓库工具所需要的人力和物力。在 微软的平台下也能够利用已经完善的工具集进行开发,在 SSIS 中可以对于原始数据进行 ETL 操作,而在 SSAS 中可以对于多维数据集进行 OLAP 的操作。这样就可以比较简单地建 立数据仓库的应用环境。SSAS 为主的数据仓库组建以全面的技术和服务,使数据仓库的 实现过程简化、自动化和集成化,并由此降低了系统使用的总成本,因此 Microsoft 公司 的 OLAP Services 在中小型企业的决策支持系统中有较明显的优势。也成为研究数据仓库 建立的一个重要的研究对象。 基于 Sql Server Analysis Services 数据仓库建立和关键技术研究 13 第三章第三章 数据仓库的建立数据仓库的建立 本章论述了数据仓库建立的概述和原理,介绍了数据仓库建立的一般步骤。研究了数据 仓库建立中的几个关键技术的分析。 3.1 数据仓库的建立概述数据仓库的建立概述 数据仓库建立的过程实际上是从传统的以数据库为中心的操作型系统结构转移到以数据 仓库为中心的体系结构的过程。对于一个大型的企业,要实现这种体系结构决不是一件容易 的事情。这种变迁是逐步分阶段实施的,每一阶段实现部分功能的过程。基于数据仓库的 DSS需要大量的历史数据,但这些数据决不是一次性的进入到数据仓库中。 在数据仓库的建立过程中存在一个有趣的“第1天到第N天现象”8:第1天,设计者熟 悉用于操作型事务处理的原始数据处理系统,根据分析主题建立第一主题域;第2天,向数 据仓库中的第一主题域的最初几个表载入数据,数据仓库雏形建立,但这时的数据仓库并不 具备分析和决策能力;第3天到第N-1天,和最终用户沟通,不断的根据分析主题扩充主题域 个数,载入必要的分析数据,建立部门级数据仓库;第N天,完善系统,这时的原有数据集 合中只剩下操作型处理。数据仓库具有丰富的数据,并有一些数据仓库的直接用户和许多部 门级数据仓库,最终系统形成5。 数据仓库的建立的一个重要的方面和基础就是操作型的事务数据向数据仓库所要求的分 析型数据的转变,这在数据仓库的建立中成为抽取、转换、装载(Extract-Transform- Load,简称ETL)。ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过 数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。 数据仓库建立的另一个主要的方面是维度建模。正确地运用数据建模技术是成功实施数 据仓库的前提。维度建模技术就是为了多角度、多层次地反映数据之间的这个联系,通过对 数据进行重组与综合,组织和建立起数据的多维结构,为决策分析提供数据的多维视图。在 下面几节中会对数据仓库建立的关键技术和问题进行分析10。 第三章 数据仓库的建立 14 3.2 数据仓库建立的一般步骤数据仓库建立的一般步骤 在日常的企业数据仓库的建立中,人们大致总结出了数据仓库建立的一般步骤。当然 这些步骤随着不同系统的应用和实践也是会随时调整的。下面就列举了数据仓库建立的一 般步骤3: (1) 收集和分析业务需求 (2) 建立数据模型和数据仓库的物理设计 (3) 定义数据源 (4) 选择数据仓库技术和平台 (5) 从操作型数据库中抽取、净化、和转换数据到数据仓库 (6) 选择访问和报表工具 (7) 选择数据库连接软件 (8) 选择数据分析和数据展示软件 (9) 更新数据仓库 3.3 数据仓库建立的关键技术数据仓库建立的关键技术 .1 数据的数据的 ETLETL 过程过程 抽取、转换、加载 ( Extract、Transformation、Loading,简称ETL)是指从数据源获 取数据,并对数据进行清洗转换,最终加载到数据仓库的过程11。 数据仓库中的数据来自于多种业务数据源,这些数据源可能是在不同的硬件平台上,使 用不同的操作系统,因而数据以不同的格式存在于不同的数据库中。如何向数据仓库中加载 这些数量大、种类多的数据,已成为建立数据仓库所面临的一个关键问题。由于不同的事务 处理系统必将用到不同的数据库系统,包括不同的关系型数据库、非关系型数据库,甚至文 件系统等。如有的采用Oracle数据库管理系统,有的采用Microsoft SQLServer 数据库管理 系统等。先要建立全局的企业级Intranet,要求这些不同部门间做到数据共享,实现全局数 据一致性,并提供全局Web查询和决策分析。通常,企业的数据源分布在各个子系统和节点 中,利用ETL将各地方业务系统上的数据进行抽取、清洗和转换处理,然后加载到目的数据 库。因为现有业务数据源多,保证数据的一致性,真正理解数据的业务含义,跨越多平台、 多系统整合数据,最大可能提高数据的质量,迎合业务需求不断变化的特性,是ETL 技术处 基于 Sql Server Analysis Services 数据仓库建立和关键技术研究 15 理的关键同时也是数据仓库系统建立的关键技术。ETL规则设计和实施则是工作量最大的, 约占整个项目的60%80%,这是国内外从众多实践中得到的普遍共识。 一个ETL过程按照一个统一的规则,首先抽取数据源中的数据,然后根据一定的转化规 则转化数据,最后将规范的转化后的数据装载到数据仓库中去。整个过程如图所示。这个子 系统中包含四个模块:数据抽取模块、数据转化模块、数据加载模块和元数据管理模块12。 图 3.1 数据仓库 ETL 模块 实现 ETL,首先要实现 ETL 转换的过程。它可以集中地体现为以下几个方面13: (1)空值处理:可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值 实现分流加载到不同目标库。 (2)规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数 据,可自定义加载格式。 (3)拆分数据:依据业务需求对字段可进行分解。 (4)验证数据正确性:可利用 Lookup 及拆分功能进行数据验证。 (5)数据替换:对于因业务因素,可实现无效数据、缺失数据的替换。 (6)查获丢失数:实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。 在 ETL 中的数据加载过程主要是将经过转换和清洗的数据物理迁移到数据仓库中。一般 进行数据加载时会采用以下几种方式: (1) 时间戳方式 采集数据的事实数据一般都存在时间辍,当采集数据库中更新修改采集的报表数据时, 会同时修改时间戳字段值。当进行采集报表数据 ETL 加载时,通过系统时间与时间戳字段的 比较来决定进行何种数据抽取。 (2) 日志方式 第三章 数据仓库的建立 16 在没有时间戳的情况下,当采集数据库采集报表数据发生变化时,更新维护日志表内容, 当进行采集报表数据 ETL 加载时,通过读日志表数据决定加载那些数据及如何加载。 (3) 全表比对方式 当上述两种方式都不可用的情况下。在 ETL 过程中,抽取所有源数据,并进行相应规则 转换,完成后先不插入目标,而对每条数据进行目标表比对。根据主键值进行插入与更新的 判定,目标表已存在该主键值的,表示该记录己有,并进行其余字段比对,如有不同,进行 更新操作,如目标表没有存在该主键值,表示该记录还没有,即进行插入操作。 (4) 全表删除插入方式 每次 ETL 操作均删除目标表数据,由 ETL 全新加载数据。 在 ETL 的处理方式中,常见的 E TL 处理方式可分为以下三种14: (1) 数据库外部的 ETL 处理 数据库外部的 ETL 处理方式指的是大多数转换工作都在数据库之外、在独立的 ETL 过程 中进行。这些独立的 ETL 过程与多种数据源协同工作,并将这些数据源集成。数据库外部 ETL 处理的优点是执行速度比较快。但缺点是大多数 ETL 步骤中的可扩展性必须由数据库的 外部机制提供,如果外部机制不具备扩展性,那么此 ETL 处理就不能扩展。 (2 ) 数据库段区域中的 ETL 处理 数据库区域中的 ETL 处理方式不使用外部引擎而是使用数据库作为唯一的控制点。多种 数据源的所有原始数据大部分未作修改就被载入中立的段结构中。如果源系统是关系数据库, 段表将是典型的关系型表。如果源系统是非关系型的,数据将被分段置于包含列 VARCHAR2(4000)的表中,以便于在数据库内作进一步转换。成功地将外部未修改数据载入数 据库后,再在数据库内部进行转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论