链接维度性能问题

6
我正在使用两个星型模式数据仓库,并且每个数据仓库都包含一个事实表,而维度表位于单独的数据库中(两个数据仓库共用一个数据库)
我为每个数据仓库创建了一个多维分析项目:
- 在第一个项目中,我定义了维度并部署了分析数据库,我能够从管理工作室浏览立方体,没有任何问题。 - 在第二个项目中,我定义了链接维度并使用了来自第一个分析数据库的已部署维度。
当尝试浏览第二个立方体时,一切都正常运行,但是当我在浏览立方体时尝试浏览维度或添加过滤器时,管理工作室就会无响应。数小时后,它返回以下错误信息:
“发生检索子节点的错误:Envelop/Body/ExecuteResponse/return/SubCube下不能出现行(命名空间urn:schemas-microsoft-com:xml-analysis:exception的消息元素)”
搜索此问题时,我发现一些文章提到当分析数据库位于不同服务器上时,不建议使用链接维度。但在我的情况下,数据仓库和分析数据库都在同一台服务器上。
此外,我还尝试使用MDX查询运行相同的筛选逻辑,但没有成功。MDX查询语法类似于:
SELECT ([Dimension2].[---].[---], [MeasureGroup].[Measure]) ON COLUMNS,
        FILTER([Dimension1].[---].[---],[Dimension1].[---].[---].CurrentMember.Name = "FilterValue") ON ROWS
FROM [AnalysisCube]

请注意:此数据包含超过4GB的维度信息,且 CompatibilityLevel 已设置为 1100

有什么建议吗?


为什么不将两个 Cube 放在同一个数据库中?这样它们就可以共享维度,而无需使用 Linked Dimensions。 - David Browne - Microsoft
@DavidBrowne-Microsoft 你是不是想为第二个仓库添加一个新的度量组? - Yahfoufi
@DavidBrowne-Microsoft,请检查问题更新。 - Yahfoufi
我不知道。我已经很久没有建立多维模型了,而且我从来没有使用过链接维度功能。你可能需要打开一个支持案例。 - David Browne - Microsoft
@DavidBrowne-Microsoft 我发现了一些有趣的东西,请查看下面的答案。 - Yahfoufi
显示剩余2条评论
1个回答

5
根据以下微软参考资料:

SSAS 允许您向其他多维数据库添加链接维度,以便只需构建和维护一个维度。然而,在 SSAS 开发中使用链接维度不被认为是最佳实践,因为它可能会产生性能问题

另一种思考的方式是将 .dim 文件保存在源代码控制中以便重复使用开发工作。然后,您可以要求新的多维数据库项目从源代码控制添加 .dim 文件,而不是直接构建新的维度。 这样,您就可以在中央位置维护设计并从可重用性中受益,而不会引入潜在的性能问题

根据上述信息,从性能角度来看不推荐使用链接维度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接