数据仓库堆栈(或套件)通常由三层组成。这些通常被称为ETL(加载)、Database 和Reporting(接口)。此外,还有一些更高级的工具可以满足性能和专家的需求。这些包括Cubes 和Statistical Analysis Tools。
就互操作性而言,ETL 工具和报告工具需要支持您使用的任何数据库。但是,由于只有两个大的开源数据库,混合不同的解决方案通常没有问题。
至于细节-
1 - ETL
数据加载可以通过开源工具来实现,例如 Pentaho 的 Data Integration 或 Talend(一个 eclipse 扩展)。我建议在谷歌上搜索“开源 etl”,以根据您的特定需求定制解决方案。
2 - 数据库
您需要一个关系数据库 (RDBMS)。两个最著名的开源参与者是 PostgreSQL(被 Stack Overflow 使用)和 MySQL。虽然 MySQL 拥有更大的用户群,但 Postgres 自从实现了早期版本中缺少的几个关键功能后,越来越受欢迎。
3 - 报告
Pentaho 提供报告平台。 BIRT(另一个 Eclipse 扩展)也是如此。同样,Google 是您进行具体比较的朋友。请注意,如果您为 ETL 和报告工具选择 Pentaho,您可能会享受到更好的集成。
您还提到了 Mondrian,它是一种在 RDBMS 上生成 MDX 查询的工具。 MDX 是查询多维数据集的标准语言。
此时,假设您从头开始,我建议您设置数据仓库的前两层 - ETL 和 DB。您可以稍后在上面添加任意数量的报告工具。