【问题标题】:Dimensions and MeasureGroups Prcessing维度和度量组处理
【发布时间】:2013-10-28 02:24:50
【问题描述】:

我有 10 个维度和 10 个度量组——每个度量组都有一个分区。

处理所有立方体时,每天需要 5-6 小时。所以我想使用 SSIS 分析服务处理任务来处理多维数据集,其中第一个我处理维度“处理完整”,然后我处理所有度量组“处理完整”。

MeasureGroup-1 分析服务处理任务仅具有一个测量组需要 2 小时,其余 9 个测量组在测量组 2 分析服务处理任务需要 2 小时。所以总共需要大约 3 小时才能完成处理而不是 5-6 小时。

所以你认为这种方法是正确的!请建议..如果有任何约束/依赖项在这样的处理后提供故障数据。

【问题讨论】:

  • 没错,就像你说的,首先你需要处理Dimensions,然后是MeasureGroups,不管哪个measuregroups是第一个
  • 谢谢贾斯汀。还有一个问题:-) 如果我一次处理更新所有维度怎么办。它是否提供任何不完整的数据。 !!
  • 是的,您可以在第一个处理元素中处理所有维度,然后将其他处理元素与所有度量组一起放置。所以你的 SSIS 包应该在第二个所有度量组中的所有维度中包含 2 个元素...
  • 你的意思是我可以将一个元素中的所有维度作为进程更新处理,并将其他元素中的所有其他度量组作为进程已满!!
  • 如果您为尺寸工作“流程更新”,是的。我只想说首先应该处理哪些维度,然后您可以按照自己的意愿放置 MeasureGroups:也许全部在一个元素中,也许将度量组分为两个元素......

标签: sql-server-2008 ssis ssas cube measures


【解决方案1】:

您应该衡量所需的时间。在许多情况下,一次性完成所有处理可能比拆分处理更快,因为一些数据可以从维度处理保留在内存中,并且在度量组处理运行时写入磁盘不需要完成。另一方面,您的方法可能更快。

一般来说,唯一正确的答案是:进行测试,因为有很多因素会影响这一点。

要优化处理性能,您必须找到瓶颈:也许更多的 RAM 会有所帮助(您是否看到在处理过程中使用了大部分 RAM?那么,测试具有更多 RAM 的服务器可能值得一试);也许更多的 CPU 允许更多的并行化会有所帮助;也许优化关系源,以便分析服务发出的语句运行得更快会有所帮助;可能减少聚合将有助于提高处理性能,但可能会损害查询性能;将 AS 存储从关系数据移动到不同的磁盘(如果它们到目前为止共享一个磁盘)应该会提高性能;更快的磁盘也可能是一个值得测试的选项。

像许多性能优化任务一样,在不了解细节和运行一些测试的情况下,很难说哪些更改会改善或恶化情况。

【讨论】:

  • 坦率地说。试运行后我看不出有任何显着差异。关于如何提高性能的任何帮助
  • @user2889510 我在答案中添加了一些关于性能改进的一般性想法。
  • 谢谢弗兰克。我最初在 4 GB RAM 服务器上运行,后来转移到 128 GB RAM 以测试它是否运行得更快。它运行得更快 n=但 .. 没有太大改进。考虑到没有看到/测试语句的事实在分析服务上发布..我想在这里再问一个问题..我可以将 BaseFact 分区划分为两个分区,我可以将现有语句重写为两个用于 eact 分区的语句,使用 where 语句条件进行划分,使某些日期未处理取决于在之前和之后的数据修改日期。
  • @user2889510 实际上,这值得在 Stackoverflow 中单独提出一个问题。但当然,你可以这样做:在分区配置中,你可以为每个分区指定 SQL。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多