您所在的位置:读书频道 > 数据库 > SQL Server > 6.1.1 SSAS对象和处理基础(1)

6.1.1 SSAS对象和处理基础(1)

2008-11-30 18:12 冯飞 清华大学出版社 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

《SQL Server 2005 Integration Services专家教程》第6章通过SSIS处理Analysis Services对象,本章重点讨论SSIS和SSAS(SQL Server 2005 Analysis Service)的集成。涉及到SSAS立方体的商业智能解决方案通常会包含一种方法,用来将数据仓库或数据集市数据库源中的对象放入OLAP立方体结构中。本节介绍的是SSAS对象和处理基础。

AD:

第6章 通过SSIS处理Analysis Services对象

本章将重点讨论SSIS和SSAS(SQL Server 2005 Analysis Service)的集成。涉及到SSAS立方体的商业智能解决方案通常会包含一种方法,用来将数据仓库或数据集市数据库源中的对象放入OLAP立方体结构中。本书在第4章和第5章主要讨论了处理维度和事实表的ETL,那么该过程中的最后一步是加载相关的SSAS对象,在大多数情况下,这些对象由ETL过程负责。

由于在SSIS中的大部分SSAS集成都涉及到处理数据和管理度量组分区,所以本章的重点是数据处理以及分区管理的技术和最佳实践。本章首先从一些即装即用的基础内容着手,然后再深入处理更为复杂的情况,最后讨论了带有SSAS特性关系的维度变化类型。

6.1  SSAS ETL处理和管理概述

企业BI系统常常会有循环ETL调度,这些调度是通过源数据的可用性判断的。通常,会把这些调度设置在晚间的一定情况下运行,比如,当源系统空闲或停机时,或者在前面批处理过程或优先级过程完成时。然而,有些时候需要进行调度的频率会有所不同,比如,当库存系统每周或每月发送数据更新时,或者一天多次将数据设置为可用时。有时候,甚至可能会遇到这样一种情况,在这种情况下包含多种不同的数据处理调度需求,从以月为间隔到几近实时的需求。

多数企业ETL过程中的一个共同点是其加载时间已知。ETL调度在预定义的时间开始,或通过与其他更高优先级环境一起工作的调度工具开始。对于ETL作业,可能是每5分钟到每个月运行一次。然后,当作业完成时,协调执行过程的调度工具或程序包会产生另一个进程。

关于SSAS处理的讨论,ETL调度是非常重要的,这是因为在大多数情况下,当企业BI系统涉及到SSAS时,SSAS对象的处理由ETL子系统负责。因此,必须考虑牵涉其中的各个方面以及相关的方法。

可以肯定的是,少数BI解决方案是实时或接近实时的,这意味着,在一整天内,发生自源系统的事务是逐个进入BI解决方案的。这种情况需要利用SSAS的一些实时或几近实时的功能,包括用于存储对象的关系型联机分析处理(Relational Online Analytical Process, ROLAP)和前摄缓存(Proactive Caching)。这些内容都不在本章讨论的范围之内,但是对于描述整个SSAS处理来说都是重要的。可以参阅SQL Server的在线文档,以获知有关前摄缓存中关于接近实时处理的详细信息。

6.1.1  SSAS对象和处理基础(1)

在详细讨论SSAS处理之前,先快速地复习SSAS处理中所涉及的概念和组件。

首先,在SSAS中必须处理的主要对象类型是维度和分区。如果正在使用的是SSAS的数据挖掘功能,那么还将要处理数据挖掘对象。有人可能会问:"SSAS数据库、立方体和度量组要不要处理呢?"确实,也可以处理这些对象,但它们只是次要对象的容器,当选择处理它们时,实际上就是正在确定所要处理的维度、分区和挖掘对象的集合。

提示:

请注意,即使立方体本身不包含数据(只有其相关的维度和度量组分区),在处理立方体时,立方体肯定会有一个刷新过的脚本缓存。换言之,如果对计算或MDX脚本做过任何变动,就应当处理立方体对象本身。

1. 维度

正如可以猜到的,SSAS维度直接映射到数据库中的一个维度表。实际上,当存在一个以维度结构化模型的数据仓库或数据集市(带有一个ETL过程,如本书第4章和第5章所描述的),那么SSAS维度会直接从它们的底层维度表加载。然而,映射并不总是完全一对一的情况,因为有时可能需要组合多个表,或者为多个SSAS维度使用单一的源维度表。此外,SSAS解决方案可能是在事务系统上部构建的,且该事务系统涉及到多个源表。然而,事务源(transactionally sourced)的SSAS解决方案在大小和历史跟踪上都有限制,这主要被保留用做概念验证、专门的或较小规模解决方案。

图6-1展示了AdventureWorks示例SSAS解决方案中的Employee维度。

(点击查看大图)图 6-1  在AdventureWorks示例SSAS解决方案中的Employee维度

商业智能开发工具集(Business Intelligence Development Studio,BIDS)的主要设计器窗口显示了维度编辑器。右上角的Solution Explorer(解决方案浏览器)显示了在该SSAS解决方案中创建的维度列表。维度包含了特性和已定义的层次结构,在将底层表数据加载到SSAS对象中时,就会使用到它们。

对于SSAS维度,存在多种数据处理类型,包括如下:

完整处理(full process)  完整处理涉及对SSAS维度下面数据结构的重建,这需要对维度表进行全面、重新的扫描,以填充特性的结构、层次以及为优化而创建的索引。在对维度进行任何结构化的修改时(比如,添加特性和层次,以及移动或添加特性关系),就需要使用到完整处理。

提示:

在执行完整处理时,因为数据结构的重建,数据会被放置在任何相关的度量组分区中。

处理更新(process update)  因为重新扫描底层维度表,所以"处理更新"类似于"完整处理"。但是,在SSAS维度中,特性、层次和索引结构只会通过修改和增加来更新。在处理SSAS数据库时,这是最好的选择,因为这样做可以保持相关的结构。

提示:

从设计的角度来看,因为会牵扯到维度ETL变化类型,所以可能并不允许某些维度的修改(包括删除)。这些内容会在本章后面部分(在回顾严格与灵活的特性关系时)进行讨论。

反处理(unprocess)  有时候,可能想要通过反处理维度来释放空间,或者使用完整处理强制重建分区。

处理数据(process data)  "处理数据"类似于"处理更新",但只涉及到处理特性和层次的数据结构,但不包括特性位图索引。

处理索引(process index)  对处理数据的补充是"处理索引",处理索引仅对索引进行处理。处理索引要求首先处理SSAS维度,因为处理索引不需要重新扫描维度表。

处理添加(process add)  "处理添加"可以向SSAS维度中添加维度成员,而无需重新扫描整个维度表。这个选项在SQL Server Management Studio(SSMS)或SSIS中的UI处理功能中不可用,但这是一个可以通过开发程序或XMLA(XML for Analysis)来使用的方法,XMLA是用来与OLAP结构交互的行业规范消息(industry specification message)。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

网友评论TOP5

查看所有评论(

提交评论

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点专题

更多>>

读书

Oracle 10g应用指导与案例精讲
本书作者结合自己多年实践经验,从Oracle开发应用中遇到的问题着手,全面系统地介绍Oracle的安装与卸载、数据字典、安全管理以及

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone