首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROLAP模式需要处理吗?

ROLAP模式需要处理吗?
EN

Stack Overflow用户
提问于 2012-12-14 16:26:27
回答 1查看 3.6K关注 0票数 3

我理解ROLAP,MOLAP,HOLAP的区别,但这是否意味着ROLAP永远不需要处理,因为你总是直接从数据库中获取数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-14 17:15:02

在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:
    • ANSI_NULLS

表必须已创建并将以下选项设置为tk.customer

    • QUOTED_IDENTIFIER

  • 在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.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13875001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档