我有很多需要从中生成报告的 mysql 数据。它主要是历史数据,因此不会有太大变化,但它的大小很容易达到 20-30 GB,预计还会增长。我目前有一组 php 脚本,可以执行一些复杂的查询并输出 csv 和 excel 文件。我还使用带有书签查询的 phpMyAdmin。我手动编辑它们以更改参数。数据量在增长,需要访问数据的人数也在增长,所以我正在抽出时间来改善这种情况。
前几天我开始阅读有关数据仓库的内容,这似乎与我需要做的事情有关。我已阅读 some good articles我什至在等一本书。我想我已经掌握了这些系统的功能以及可能的功能。
为我的数据创建一个报告系统一直在待办事项列表中,但直到最近我才认为这将是一个高度利基的编程冒险。因为我现在知道数据仓库是一件很常见的事情,所以我认为必须有某种报告/仓库框架可用于简化开发。我很乐意跳过编写界面和脚本来安排和发送电子邮件报告等,并坚持编写查询和建立关系。
我主要是个灯控,但我并不擅长切换语言或平台。我只需要一个更强大的解决方案,因为我的一次性脚本不能很好地扩展。
那么从哪里开始呢?
最佳答案
我将讨论{预算、业务效用函数、时间框架}范围内的几点。为方便起见,让我们遵循您链接到的架构概念化
WikipediaDataWarehouseArticle
数据仓库的源数据 - 规范化仅用于一站式数据维护
将源数据转换为信息访问层。用于提取、转换、加载数据到仓库的 ETL 工具就属于这一层。
• 便于报告的数据结构
此处不维护数据。它只是您源数据的反射(reflect)
因此,非规范化结构(包含重复但系统导出的数据)
通常在这里最有效
• 报告工具
您实际上如何允许您的用户访问数据
• 预制报告(简单)
• 更动态的切片访问方法
为报告和分析而访问的数据以及用于报告和分析数据的工具
落入这一层。以及 Inmon-Kimball 关于设计方法的差异,
稍后在维基百科文章中讨论,与这一层有关。
推出自己的(低端)
只需很少的自付费用,只需认识到对非规范化结构的需求,就可以为那些不使用它的结构带来一些效率
参加球赛(需要一些支出)
您不需要立即使用平台的所有功能。
然而,IMO,您希望在一个您知道会增长的平台上,并且在竞争激烈和整合的 BI 环境中,这似乎是四大企业大型供应商之一(我认为)
BiMarketStateArticle
我的公司处于这个阶段,使用 SQL Server 集成服务 (SSIS) 提供的一些 ETL 功能和一些开源的替代用法,但实际上许可证需要“数据访问层”中的 Talend 产品,一种非规范化的报告结构(完全在基本 SQL Server 数据库中实现)和 SQL Server Reporting Services (SSRS) 可在很大程度上自动化(根据您的技能)预先指定的报告的生成。请注意,SSRS“报告”只是在运行时通过 SSRS 引擎呈现的(可扩展的)XML 配置/规范。导出到 excel 文件等选项是简单的选项。
认真的 promise (需要一些重要的人为 promise )
注意上面我们还没有使用数据挖掘/动态切片/切块
SQL Server Analysis Services 的功能。我们正在为此努力,
但现在专注于提高“数据访问层”中数据清理的质量。
我希望这可以帮助您了解从哪里开始寻找。
关于frameworks - 有没有数据仓库框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/158775/