我有很多mysql数据,我需要生成报告。它的主要历史的数据,因此不会改变很多,但它的重量在20到30千兆字节的地和预计增长。我现在有一个收集php scripts会做一些复杂的查询和输出csv和excel文件。我也使用头文件,与书签标记的查询。我手工编辑更改的参数。数据的数量不断增长的人数需要访问它也越来越大,所以我让时间来改善这种情况。

我开始阅读有关的数据仓库的一天,它看来,这一区域,涉及到我所需要做的。我读过 一些 很好的 文章 我甚至在等待一本书。我认为我得到一个处理这些各种各样的系统做,什么是可能的。

创建一个报告系统数据一直在待办列表中,但直到最近,我想这将是一个非常适当位置计划的合资企业。因为我现在知道数据仓库是一种常见的事,我想,必须有某种形式的报告/仓库框架可以减轻在发展。我愿意跳过写的接口和脚本时间表和报告的电子邮件等,并坚持要书面查询和建立关系。

我大多已有灯的家伙但是我不上述交换的语言或平台。我只是需要一个更稳定的解决方案作为我的一个脚本不规模。

那是一个很好的地方开始?

有帮助吗?

解决方案

我将讨论的几个要点上{预算、商务的实用功能,时间框架}谱了。为了方便,让我们遵循的架构构想你联系时

    WikipediaDataWarehouseArticle

  • 业务数据库层
    来源数据,该数据仓库标准化,为在一个地方仅有的数据维护

  • 数据存取层
    变换的源数据进你的信息访问层。
    ETL工具,以提取、变换、数据加载到仓库落入这一层。

  • 信息访问层
    •报告-促进数据结构
          数据不是维持这里.它仅仅是一种反射源的数据
    因此,规范化的结构(含有重复,但有系统的派生数据)
    通常是最有效的在这里
    •报告工具
    你怎么实际上允许用户对数据的访问
    •预罐头报告(简单)
    •更多的动态片和骰子访问的方法

访问的数据报告和分析工具用于报告和分析数据
落入这一层。和Inmon-Kimball差异有关的设计方法,
稍后讨论的在维基百科的文章,已做到与这一层。

  • 元数据层(便利自动化、组织、等等)

滚你自己的(低端)
很少的成本,就认识到需要在规范化的结构可以买到那些不使用它的一些效率

得在比赛 (某些支出所需要的)
你不需要使用的所有功能的一个平台。
海事组织,但是,你想要一个平台,你知道将会增加,并在高度竞争和巩固双环境,这似乎是一个企业的大型供应商(我的意见)

  • Microsoft(平台的我们的110名雇员的公司)
  • SAP
  • Oracle
  • IBM

    BiMarketStateArticle

我的公司是在这个阶段,使用一些ETL能力提供SQL服务器的整合服务(SSI)和一些替代使用开放源,但在实践中的许可证要求Talend产品"数据存取层",一个非标准化的报告结构(实现完全的基本SQL服务器数据库),和SQL服务器的报告的服务(SSR)在很大程度上实现自动化(基于你的技能)产生的预先指定的报告。注意一个。"报告"仅仅是一个(可扩展)XML构/规范,呈现在运行时通过的SSR的引擎。选择如出口到excel文件是简单的选择。

严肃的承诺 (一些重要的人的承诺所需要的)
注意到上,我们尚未利用的数据挖掘/态切割/切割 能力SQL服务器分析的服务。我们正在走向, 但现在集中于提高质量数据清除在"数据存取层"。

我希望这可以帮助你知道从哪里开始寻找。

其他提示

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

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

我认为您应首先查看Kimball和Inmon,看看您是否希望以特定方式接近数据仓库。特别是Kimball为仓库的建模和构建提供了一个非常好的框架。

有许多工具试图设计,实施和管理/运营数据仓库,他们各自都有自己的优势和劣势,而且价格点往往差别很大。如果您对Kimball和/或Inmon难民营的warsehousing原则有很好的了解,那么你将永远处于最佳状态。

除了像Kalido和Wherescape RED这样的工具(它们以非常不同的方式做类似的事情),许多ETL平台现在都具有良好的内置支持,可用于实施的驴工作 - SCD组件等和谱系跟踪。 / p>

最好尽管将所有这些视为工具的使用者,工匠,他们使某些简单的事情变得更容易(甚至是微不足道),一些困难的事情更容易,但有些事情他们只是通过他们的方式恕我直言;)首先学习方法和原则,并对它们有一个很好的理解,然后你就会知道从你的kitbag中应用哪些工具以及何时......

它有一段时间没有更新,但有一个很好的Data Warehousing / ETL Ruby软件包,名为 ActiveWarehouse

但我会查看另一个答案中提到的 Pentaho产品,如Nick。它应该可以轻松处理您拥有的大量数据,并且可能为您提供更多方法来对数据进行切片和切块,而不是您想象的那样。

最好的框架,目前可以得到的是 锚定建模.
它可能看起来相当复杂,因为它的通用结构和内在能力historize数据。
还建模技术完全不同的比ERD。
但是你结束了与sql代码生成的所有数据库对象包括3NF意见,并且:

  • 插入/更新处理触发器
  • 查询的任何一点/范围的历史
  • 你应用程序开发人员就不会看到潜在的6NF锚模型。

该技术是开放的来源和目前是无与伦比的。

如果你有我的问题你可能想问上标签 .

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

我们使用Informatica来移动数据,但它不会像默认情况下那样执行DW这样的事情 我喜欢Wherescape RED的概念,作为DW工具并使用MS SQL的链接服务器来消除对ETL工具的需求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top