2008-09-25 51 views
1

我想从一堆二进制文件中构建一个OLAP数据源,而我们当前的模型只是不起作用。我们将SSAS用作我们结果的分析/报告模型,但无法从SQL中获得我们想要的性能。SSAS中的自定义ROLAP数据源

我们的主要制约因素是:

  1. 的数据库是非常大的。我们拥有包含数百万行的巨大维度表和几个较小的事实表(< 1,000,000行)。

  2. 我们有一个动态立方体。 B/C事实表是动态构建的,并且通常(可能每天多次),在设置多维数据集时不会有任何巨大的开销。立方体上的当前部署时间可能超过24小时,而我们需要的硬件性能却无法提供给我们。

基本上,我们希望有一个快速设置和部署,这本身并没有借给自己使用SQL Server 2005 SSAS,但我们想用SSRS报告,我们希望在Excel中分析的OLAP模型,所以我们仍然希望在可能的情况下使用SSAS来构建多维数据集。

SSAS中用于快速部署的常见解决方案是ROLAP,但是我们在更大的ROLAP查询中遇到了执行错误,而且我们也不喜欢将二进制数据转换为SQL并将其加载到SQL中的所有开销立方体。

有没有人完成了SSA​​S可以使用的自定义OLAP数据源的工作?我们正在创建我们自己的ROLAP引擎,它将直接查询二进制源文件。

回答

2

如果需要低等待时间立方体(即,一个显示出来的最新数据)这样的事情的规范结构是这样的:

  • 增量加载一个事实表与从源变化的数据。
  • 构建一个分区的多维数据集,每天或某个其他合适的时间段生成新的分区。该多维数据集具有在ROLAP模式下设置的最新分区,以及构建为MOLAP的较旧分区。
  • 设置一个进程,用于更新分区并将旧分区从ROLAP更改为MOLAP,因为它会生成新的前导分区。

针对多维数据集的查询将针对最新数据和MOLAP分区针对历史数据进行相对较小的ROLAP分区。 MOLAP分区可以具有聚合。这个过程不停地将前沿ROLAP分区打勾并转换其前身。 AS将保留较旧的分区并使用它,直到构建替换分区并联机。

如果这种架构适合您的需求,您可以考虑这样做。

1

感谢Nigel的回应。

我想我需要解释这个好一点。我的源数据是专有格式,而不是数据库,所以进入事实表本身需要相当长的时间。然后,我们需要尽快部署多维数据集(最好在几分钟之内)并具有快速查询响应,即使在使用SQL的小数据集中,我们目前也不会看到这些响应。

由于立方体的结构是动态的,我们经常需要重建立方体的每个方面,因此我们不会在事后引入新数据,因此将它的一部分划分为MOLAP和ROLAP的其他部分真的有帮助。我们正在寻找“充满程序”的表现。

我们开始意识到,我们不能使用SQL进行查询,并且想知道是否有人创建了分析服务(或任何OLAP工具)可以读取的自定义ROLAP数据源。

我们可以快速处理创建结果集;我们只需要弄清楚如何从SSAS获取查询并将其反馈给这些结果。我们真的只是希望使用SSAS作为我们的系统与Excel,SSRS等之间的中介,而不是用它来处理或聚合数据。

1

您可以使用类似R这样的自制库(它支持C Extensions)来连接您的数据集。 R将为您构建复杂报表或数据预处理库提供相当大的灵活性。它也有一个接口Excel

这与传统DB/OLAP模型有点不同,但您可以很容易地在C中编写快速数据集加载器,并跳过加载到数据库的中间步骤。

0

我还没有运气呢。我们正在建立我们自己的数据提供程序,并为excel构建插件来模拟olap行为,或者使用CLR表值函数来模拟我们的数据源并从中构建多维数据集。由于在构建一个多维数据集时SSAS运行的查询量很大,因此我在CLR上进行的一次尝试表现糟糕,并且爆炸了。我正在等待在SQL 08环境中获得更新的更快的机器,以查看这是否可行。祝你好运斯科特。