在MOLAP中,您将把聚合存储在Analysis Services的数据目录中。使用ROLAP,您将把聚合存储在关系数据库的索引视图中。ROLAP将为你提供一种比MOLAP更慢的实时方法,但对于你需要偶尔查看的历史资料来说,ROLAP是很好的。
来自MSDN:
如果分区使用ROLAP存储模式,并且其源数据存储在SQL Server数据库引擎中,则Analysis Services会尝试创建索引视图以包含该分区的聚合。如果Analysis Services无法创建索引视图,则不会创建聚合表。尽管Analysis Services处理在SQL Server数据库引擎上创建索引视图的会话要求,但ROLAP分区及其架构中的表必须满足以下条件,Analysis Services才能为聚合创建索引视图:
ROLAP分区不能包含使用最小或最大聚合functions.
- Each表的度量值。
- 分区的架构中只能使用一次。例如,架构不能包含作为"Customer Address“的dbo.address和作为"SalesRep Address”的dbo.address。
- 每个表必须是表,而不是视图。
- 分区架构中的所有表名必须使用所有者名称进行限定,例如,分区架构中的dbo.customer.
- All表必须具有相同的所有者;例如,FROM子句不能引用分区度量的表dave.sales_fact_2004.
- The、john.store和nullable.
- All源列必须不是视图中使用的ON:
-
表必须已创建并将以下选项设置为tk.customer
- 在SQL Server数据库引擎中,索引键的总大小不能超过900字节。在处理CREATE INDEX语句时,SQL Server数据库引擎将根据固定长度的键列断言此条件。但是,如果索引键中存在长度可变的列,则SQL Server数据库引擎也将在每次更新基表时断言此条件。由于不同的聚合具有不同的视图定义,因此使用索引视图的ROLAP处理可能成功,也可能失败,具体取决于聚合设计。
- 创建索引视图的会话必须将以下选项设置为ON: ARITHABORT、CONCAT_NULL_YEILDS_NULL、QUOTED_IDENTIFIER、ANSI_NULLS、ANSI_PADDING和ANSI_WARNING。可以在SQL Server Management Studio中进行此设置。
- 创建索引视图的会话必须将以下选项设置为OFF: NUMERIC_ROUNDABORT。可以在SQL Server Management Studio中进行此设置。
Read the whole thing here.