【问题标题】:Custom ROLAP Data Source in SSASSSAS 中的自定义 ROLAP 数据源
【发布时间】:2010-09-13 02:55:38
【问题描述】:

我正在尝试从一堆二进制文件构建一个 OLAP 数据源,而我们当前的模型无法正常工作。我们使用 SSAS 作为结果的分析/报告模型,但无法从 SQL 中获得我们想要的性能。

我们的主要限制是:

  1. 数据库非常大。我们有数百万行的大型维度表和几个较小的事实表(

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

基本上,我们想要一个快速的设置和部署,它本身并不适合使用 SQL Server 2005 的 SSAS,但是我们想要使用 SSRS 进行报告,并且我们想要一个 OLAP 模型在 Excel 中进行分析,所以我们会如果可能的话,仍然喜欢使用 SSAS 来构建立方体。

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

是否有人对 SSAS 可以使用的自定义 OLAP 数据源进行了研究?我们正在寻求创建自己的 ROLAP 引擎,该引擎将直接查询二进制源文件。

【问题讨论】:

    标签: reporting-services ssas olap cubes rolap


    【解决方案1】:

    如果您需要一个低延迟的多维数据集(即显示最新数据的多维数据集),那么此类事物的规范架构如下:

    • 使用来自源的更改数据增量加载事实表。
    • 构建一个分区多维数据集,其进程每天或在其他合适的时间段生成新分区。该多维数据集已将最新分区设置为 ROLAP 模式,并将较旧的分区构建为 MOLAP。
    • 设置一个进程来更新分区并将旧分区从 ROLAP 更改为 MOLAP,因为它会生成新的前沿分区。

    针对多维数据集的查询将针对最新数据针对相对较小的 ROLAP 分区,针对历史数据针对 MOLAP 分区。 MOLAP 分区可以有聚合。该过程不断在前沿 ROLAP 分区上打勾并转换其前身。 AS 将保留旧分区并使用它,直到替换分区建成并上线。

    如果这种类型的架构符合您的要求,您可以考虑这样做。

    【讨论】:

      【解决方案2】:

      感谢您的回复,奈杰尔。

      我想我需要更好地解释一下。我的源数据采用专有格式,而不是数据库,因此获取事实表本身需要相当多的时间。然后我们需要尽快(最好在几分钟内)部署多维数据集并获得快速的查询响应,即使在使用 SQL 的小型数据集上,我们目前也看不到。

      由于多维数据集的结构是动态的,我们经常需要重新构建多维数据集的各个方面,我们不会在事后引入新数据,因此将其部分划分为 MOLAP 和 ROLAP 的其他部分并不能真正实现帮助。我们正在寻找“全流程”的性能。

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

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

      【讨论】:

        【解决方案3】:

        您能否将R 之类的东西与自制库(它支持C Extensions)一起使用来连接您的数据集。 R 将为您提供相当大的灵活性来构建复杂的报告或数据预处理库。它还有一个到Excel的接口。

        这是一个与传统 DB/OLAP 模型有些不同的工具链,但您可以相当轻松地用 C 语言编写一个快速的数据集加载器,并跳过加载到数据库的中间步骤。

        【讨论】:

          【解决方案4】:

          我还没有运气。我们正在走的路线要么构建我们自己的数据提供程序并构建用于 excel 的加载项以模拟 olap 行为,要么使用 CLR 表值函数来模拟我们的数据源并以此构建多维数据集。我在 CLR 上进行的一次尝试性能很差,但由于在构建多维数据集时 SSAS 运行的查询量很大,因此失败了。我正在等待在 SQL 08 环境中获得更新更快的机器,看看这是否可行。祝斯科特好运。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-03-15
            • 1970-01-01
            • 2015-12-28
            • 1970-01-01
            • 2010-11-16
            • 1970-01-01
            相关资源
            最近更新 更多