在DW/BI系统中,关系型数据库是存储和管理数据的最佳场所。但是关系数据库本身的智能化程度不够。关系型数据库缺乏如下功能:
- 丰富的元数据,帮助用户浏览数据和创建查询。
- 强大的分析计算和函数,在对上下文敏感的查询语句中定义。
- 各种即席查询中的杰出,一致的查询性能。
在Microsoft平台上,首选的体系结构是使用SSAS作为主要的展示数据库,在关系数据仓库上定义Analsis Services数据库时,就在创建这个丰富的元数据层,同时,还可以创建一个物理存储层,以包含聚合和索引,获得杰出的查询性能。
使用Analysis Services的原因
1. 面向用户的元数据
OLAP多维数据集的定义突出了维度模型中改进用户体验(尤其是即席查询)的元素,这些元素包含事实和维度之间的区别、层次结构和下探途径、属性和事实的分组、通过一致性维度从多个业务过程中合并事实的能力。这些元素在SSAS服务器上定义一次,可适用于任何客户工具而无须进行进一步的配置。
2. 计算
还可以定义业务计算,例如利润、截至目前的销售量以及去年同期的销售量等。这些计算一般是开发团队完成,用户可以共享使用它们。
复杂安全规则:对于关系数据仓库进行即席访问的一个挑战是保护详细数据,但是允许访问汇总数据,即席使用尤其如此。SSAS支持复杂的安全规则,可以更好的保护数据。
3. 查询性能
Analysis Services可以提供高效的维度查询性能。
4. 聚合管理
在dw/bi系统中,改善性能的最重要的方法是定义聚合。聚合是对事实表的详细数据进行预先计算和存储的总和。聚合并不是特殊数据:它们仅仅是不同粒度的汇总表,例如按照月份汇总,地理区域汇总。在关系数据库中,它们称为聚合表,在SSAS中成为聚合。对于查询性能来说,定义合适的聚合比索引更有价值。SSAS有助于定义和维护这些聚合。对OLAP多维数据集的查询也可以无缝的使用合适的聚合。
不使用Analysis Services的原因
1. Analysis Services的市场不够成熟。使用SSAS的工具、经验以及信息材料都少于关系数据仓库
2. OLAP中的一些分析非常困难。如果分析通过隐含在事实表中的事件而不是维度属性来考量数据,就会非常困难。