SQL Server 2008中SQL应用系列--目录索引
导读:本文介绍Analysis Services 管理分区及数据库处理。
本文将包括以下内容:
■1、使用ROLAP或MOLAP存储配置维度
■2、使用ROLAP、HOLAP、MOLAP存储配置度量组
■3、配置刚性属性关系(Confgure rigid attribute relationships)
■4、使用“处理更新”处理选项处理维度
■5、使用“处理增量”处理选项处理分区
■6、配置主动缓存
■7、创建、合并、管理度量组分区
■8、导入Analysis Services设计到Business Intelligence Development Studio项目
本文末尾提供两个项目源码:AdventureWorks_BI_Begin14和AdventureWorks_BI_End14,顾名思义,开始和完成。另外,包括数据库文件SSAS2008SBS_Data,请读者自行修改数据源ds的连接串。
1、理解维度存储模式
MicrosoftSQL ServerAnalysis Services 中的维度支持两种存储模式:
关系 OLAP (ROLAP): 使用 ROLAP 的维度的数据实际上存储在用于定义维度的表中。 ROLAP 存储模式无需复制大量数据就可用来支持大型维度,但会降低查询性能。 维度直接依赖于数据源视图中用于定义维度的表,因此 ROLAP 存储模式还可支持实时 OLAP。
多维 OLAP (MOLAP): 使用 MOLAP 的维度的数据存储在 Analysis Services 实例中的多维结构中。 该多维结构是在处理维度时创建和填充的。 MOLAP 维度提供的查询性能比 ROLAP 维度更好。
ROLAP
重要提示: 如果维度使用 ROLAP 存储模式并且此维度包括在使用 MOLAP 存储的多维数据集中,则对其源表进行架构更改之后,必须立即进行多维数据集处理。 如果执行此操作失败,则可能会导致对多维数据集进行查询时得到不一致的结果。 相关主题:使用 Integration Services 处理对象。
参看MSDN(http://msdn.microsoft.com/zh-cn/library/ms174909.aspx )
我们看一个实例:
2、理解分区存储模式
Analysis Services(简称AS,以下同)通常使用XML设计数据库对象,如(dimensions, cubes, measure groups, and so on),但允许你修改存储模式以决定
dimension data、details values和aggregated values的位置。
分区的存储模式会影响分区及其父度量值组和多维数据集的查询和处理性能、存储要求以及存储位置。 存储模式的选择也会影响处理选择。
分区可以使用下列三种基本存储模式之一:
多维 OLAP (MOLAP) : 在 MOLAP 存储模式下,处理分区时,分区的聚合及其源数据副本将存储在 Analysis Services 内的多维结构中。 此 MOLAP 结构在得到高度优化后,可以最大程度地提高查询性能。 该存储位置可以位于用来定义分区的计算机上,也可以位于其他运行 Analysis Services 的计算机上。 由于源数据副本位于多维结构中,因此,可以在不访问分区源数据的情况下直接解析查询。 使用聚合可以显著缩短查询响应时间。 分区 MOLAP 结构中的数据与分区的最新处理完全保持同步。
随着源数据的更改,MOLAP 存储中的对象必须定期处理以合并这些更改并使其可供用户使用。 处理会完全更新或增量更新 MOLAP 结构中的数据。 两次处理之间的时间将构成滞后时间,在此期间,OLAP 对象中的数据可能无法与源数据相匹配。 您可以增量更新或完全更新 MOLAP 存储中的对象,而无需使分区或多维数据集脱机。 但是,在某些情况下可能需要使多维数据集脱机以处理对 OLAP 对象所做的特定结构更改。 您可以通过更新和处理临时服务器上的多维数据集以及使用数据库同步将已处理的对象复制到生成服务器,最小化更新 MOLAP 存储所需的中断时间。 还可以使用主动缓存,在保留 MOLAP 存储的大多数性能优点的同时最小化滞后时间,并最大化可用性
关系 OLAP (ROLAP): 在 ROLAP 存储模式下,分区的聚合将存储在关系数据库(在分区数据源中指定)的索引视图中。 与 MOLAP 存储模式不同,ROLAP 不会将源数据的副本存储到 Analysis Services 数据文件夹中。 当不能从查询缓存中获得结果时,则会访问数据源中的索引视图以回答查询。 使用 ROLAP 存储的查询响应速度通常比使用 MOLAP 或 HOLAP 存储模式更慢。 使用 ROLAP 时的处理时间通常也较长。 但是,使用不经常执行查询的大型数据集(例如纯粹的历史记录数据)时,用户可以使用 ROLAP 实时查看数据并可节省存储空间。
混合 OLAP (HOLAP) :HOLAP 存储模式结合了 MOLAP 和 ROLAP 二者的特性。 同 MOLAP 一样,在 HOLAP 下分区的聚合将以多维结构存储在 SQL ServerAnalysis Services 实例中。HOLAP 不会使源数据的副本存储起来。 就只访问分区聚合中的汇总数据的查询而言,HOLAP 与 MOLAP 相同。 如果查询需要对源数据进行访问(例如,如果要深化至原子多维数据集单元,而该单元没有对应的聚合数据),则必须从关系数据库中检索数据,并且查询速度不如源数据存储在 MOLAP 结构中那样快。 在 HOLAP 存储模式下,通常用户执行各查询所用的时间明显不同,具体取决于是根据缓存或聚合解析查询还是根据源数据本身解析查询。
按 HOLAP 存储的分区小于相应按 MOLAP 存储的分区(因为前者不包含源数据),而比 ROLAP 分区响应涉及汇总数据的查询要快。 一般情况下,HOLAP 存储模式适用于多维数据集中要求快速响应基于大量源数据的汇总的查询的分区。 但是,当用户生成必须涉及叶级数据的查询时(例如,计算中值),通常最好选择 MOLAP。
参看MSDN(http://msdn.microsoft.com/zh-cn/library/ms174915.aspx )
看实例:
部署项目,转到SSMS窗口登录。
检验更新
3-4、处理维度
部署项目,转到SQL Server Management Studio (SSMS)窗口登录。
5、处理Cube
下文继续 管理分区及数据库处理。
源码下载:
begin14
end14
数据库下载
参考资源:
1、SQL Server Analysis Services 官方教程
(http://technet.microsoft.com/zh-cn/library/ms170208.aspx )