【问题标题】:Are there any data warehouse frameworks?有没有数据仓库框架?
【发布时间】:2010-09-14 14:22:40
【问题描述】:

我有很多需要从中生成报告的 mysql 数据。它主要是历史数据,因此不会发生太大变化,但它的重量很容易达到 20-30 GB,并且预计会增长。我目前有一组 php 脚本,它们将执行一些复杂的查询并输出 csv 和 excel 文件。我还将 phpMyAdmin 与书签查询一起使用。我手动编辑它们以更改参数。数据量在增长,需要访问它的人数也在增长,所以我正在抽出时间来改善这种情况。

前几天我开始阅读有关数据仓库的信息,这似乎与我需要做的事情有关。我读过somegoodarticles,甚至还在等一本书。我想我已经掌握了这类系统的作用和可能性。

为我的数据创建报告系统一直都在待办事项列表中,但直到最近我才认为这将是一个高度利基的编程冒险。由于我现在知道数据仓库是很常见的事情,我认为必须有某种报告/仓库框架可用于简化开发。我很乐意跳过编写界面和脚本来安排和通过电子邮件发送报告等,而是坚持编写查询和建立关系。

我主要是个灯人,但我并不擅长切换语言或平台。我只需要一个更强大的解决方案,因为我的一次性脚本不能很好地扩展。

那么从哪里开始呢?

【问题讨论】:

    标签: frameworks reporting data-warehouse anchor-modeling


    【解决方案1】:

    我将在{预算、业务效用函数、时间框架}范围内讨论几点。为方便起见,让我们遵循您链接到的架构概念化

      WikipediaDataWarehouseArticle

    • 操作数据库层
      数据仓库的源数据 - 为仅在一个地方进行数据维护而规范化

    • 数据访问层
      将源数据转换为信息访问层。
      用于提取、转换、加载数据到仓库的 ETL 工具属于这一层。

    • 信息访问层
        • 便于报告的数据结构
            此处不维护数据。它只是您的源数据的反映
            因此,非规范化结构(包含重复但系统派生的数据)
            通常在这里最有效
        • 报告工具
            您实际上是如何允许您的用户访问数据的
           • 预设报告(简单)
            • 更动态的分片访问方法

          用于报告和分析的数据以及用于报告和分析数据的工具
          属于这一层。以及 Inmon-Kimball 关于设计方法的差异,
          稍后在 Wikipedia 文章中讨论,与这一层有关。

    • 元数据层(促进自动化、组织等)

    推出自己的(低端)
    只需很少的自付费用,只需认识到对非规范化结构的需求就可以为那些不使用它的结构购买一些效率

    参加比赛(需要一些支出)
    您无需立即使用平台的所有功能。
    但是,IMO,您希望在一个您知道会增长的平台上,并且在竞争激烈和整合的 BI 环境中,这似乎是四大企业超级供应商之一(我的观点)

    • Microsoft(我们拥有 110 名员工的公司的平台)
    • SAP
    • 甲骨文
    • IBM

       BiMarketStateArticle

    我的公司正处于这个阶段,使用 SQL Server Integration Services (SSIS) 提供的一些 ETL 功能和开源的一些替代用法,但实际上许可证需要“数据访问层”中的 Talend 产品,非规范化的报告结构(完全在基本 SQL Server 数据库中实现)和 SQL Server Reporting Services (SSRS),可在很大程度上自动化(根据您的技能)生成预先指定的报告。请注意,SSRS“报告”只是一个(可扩展的)XML 配置/规范,它在运行时通过 SSRS 引擎呈现。导出到 excel 文件等选项很简单。

    认真的承诺(需要一些重要的人为承诺)
    请注意,我们尚未使用数据挖掘/动态切片/切块 SQL Server 分析服务的功能。我们正朝着这个方向努力, 但现在专注于提高“数据访问层”中数据清理的质量。

    我希望这可以帮助您了解从哪里开始寻找。

    【讨论】:

      【解决方案2】:

      Pentaho 整合了一套非常全面的产品。这些产品是“免费的”,但是一旦您提供了您的识别信息,请为通常的大量销售做好准备。

      我没有机会真正扩展它们,因为我们是一家微软商店,从一个悲伤的结局到另一个结局。

      【讨论】:

      • 您在微软商店使用什么?
      【解决方案3】:

      我认为您应该首先查看 Kimball 和 Inmon,看看您是否想以特定方式处理您的数据仓库。尤其是 Kimball,为仓库的建模和构建提出了一个非常好的框架。

      【讨论】:

      • Kimball 的数据仓库书籍可能是您需要的少数书籍之一。
      • 是的!我有数据仓库工具包,太棒了。
      【解决方案4】:

      有许多工具试图完成设计、实施和管理/运营数据仓库的过程,它们各有优缺点,而且价格往往相差很大。如果您对 Kimball 和/或 Inmon 营地的仓储原则有很好的了解,那么在幕后您总是会做得最好。

      除了 Kalido 和 Wherescape RED 之类的工具(它们以非常不同的方式做类似的事情)之外,许多 ETL 平台现在都为实现的驴式工作提供了良好的内置支持 - SCD 组件等和沿袭跟踪。

      最好将所有这些都视为在您(工匠)手中使用的工具,它们使某些简单的事情变得更容易(甚至是微不足道的),使一些困难的事情变得更容易,但有些事情却阻碍了他们恕我直言 ;) 首先学习方法和原则并充分理解它们,然后您就会知道从您的工具包中应用哪些工具以及何时应用......

      【讨论】:

        【解决方案5】:

        它已经有一段时间没有更新了,但是有一个不错的 Data Warehousing/ETL Ruby 包,名为 ActiveWarehouse

        但我会像尼克在另一个答案中提到的那样查看Pentaho products。它应该可以轻松处理您拥有的大量数据,并且可以为您提供比您想象的更多的数据切片和切块方法。

        【讨论】:

        【解决方案6】:

        您目前可以获得的最佳框架是Anchor Modeling
        它可能看起来相当复杂,因为它具有通用结构和内置的历史数据功能。
        建模技术也与 ERD 完全不同。
        但是您最终会使用 sql 代码生成所有 db 对象,包括 3NF 视图和:

        • 由触发器处理的插入/更新
        • 查询历史中的任意点/范围
        • 您的应用程序开发人员不会看到底层的 6NF 锚模型。

        该技术是开源的,目前是无与伦比的。

        如果您有 AM 问题,您可能想在该标签上提问

        【讨论】:

          【解决方案7】:

          Kimball 是更简单的数据仓库方法。

          我们使用 Informatica 来移动数据,但默认情况下它不执行 DW 操作,例如索引。
          我喜欢 Wherescape RED 的想法,它作为 DW 工具并使用 MS SQL 的链接服务器来消除对 ETL 工具的需求。

          【讨论】:

            猜你喜欢
            • 2020-05-12
            • 2017-03-15
            • 1970-01-01
            • 2016-05-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-07-19
            • 2015-09-22
            相关资源
            最近更新 更多