对海量数据进行分区和处理 SSAS 多维数据集

Partition and process SSAS cube for huge data

我有一个具有刚性关系的 SSAS 多维数据集。每天我只从源头获取最近 2 个月的数据。我的多维数据集自 2010 年起就有数据。 我打算对该多维数据集进行分区,然后对其进行处理。我的问题是

  1. 我知道在严格的关系中我必须处理完整的过程。这是否意味着我必须将所有分区处理为进程已满,或者我可以继续处理选定的分区以处理已满。
  2. 如何设计分区策略?如果我做 2 个月的分区,那么我每年将有 6 个分区,之后它们可能会增加。我想到了 6 个月的分区。但如果我在第 7 个月或第 1 个月,那么我必须处理两个分区(即当前 + 最后 6 个月)。够好吗?

在属性关系实际发生变化时将它们标记为刚性关系(这意味着当汇总发生变化时,例如产品 A 汇总到谷物与燕麦片类别)是一个坏主意。只需将它们标记为灵活的关系。刚性与柔性不会影响查询性能,只会影响处理性能。如果 Rigid 导致您对维度执行 ProcessFull,这将意味着您必须重新处理所有度量值组分区。因此,将关系更改为 Flexible,除非您 100% 确定您永远不会 运行 在您的 ETL 中对您的维度 table 进行 UPDATE 语句。

我会按月划分。然后你可以每天处理最近两个月。更明确地说:

  1. 处理更新您的维度
  2. ProcessData 最近两个月的分区。
  3. 多维数据集上的 ProcessIndexes(在旧分区上重建索引和灵活聚合)