一些背景知识:
我对数据仓库有一定的了解。我已经阅读了数十篇关于数据仓库的指南,并尝试使用SSAS进行操作。我知道什么是星型模式、维度表和事实表,知道ETL是什么以及如何实现。 这不是一个“如何”问题或者请求教程。
我的问题在于所有我所阅读的有关数据仓库的资料似乎都忽略了建立数据仓库的原因。它们通常从字面或者实际上开始于短语“所以你决定要建立一个数据仓库……”,然而我现在还没有做出这个决定。
因此,我希望Stack Overflow的成员能够指点我,或协助我设计一种半客观的测试方法。这样我便可以将它适应于特定的系统,并得到“是的,我们需要一个数据仓库”或者“不用,今天的回报太小”的结论。我认为我应该能够回答以下具体问题:
在什么时候考虑建立数据仓库?换句话说,哪些明显的迹象、指标或者其他标准应该引起我的注意,表明标准的事务环境已经不再足够?
什么是完全建立数据仓库的替代方案?在事务性数据库中去规范化和常规的复制“报告服务器”是其中两个,我应该在致力于数据仓库之前探索一下其他的选择吗?
为什么数据仓库比上述的替代方案更好?如果答案是“这要看情况”,那么它取决于什么?
在什么情况下不应该尝试建立数据仓库?我对任何宣称是“最佳实践”的事物都持怀疑态度,无论其上下文如何。肯定存在某些场景下数据仓库是错误的选择,请问哪些场景下是如此?
有没有实际的例子可以看,介绍引入数据仓库后系统改进的情况?我想要全面了解他们需要什么样的决策或分析来使用数据仓库,以及他们如何决定将什么放入其中,数据仓库最终是如何适应较大环境的?我不想要人为制造的“让我们从AdventureWorks数据库中创建一个立方体”之类的示例——对于我来说,实现并不重要,我感兴趣的是所涉及的规格和设计以及整体的思考过程。
我通常尽量避免问多个问题,但我认为这些问题都非常相关。我愿意接受至少回答前4个问题的任何答案,尽管最后一个问题确实会帮助我更好地理解这个问题。如果已经有人写过相关文章,链接也可以,只要它们足够简洁和具体(链接到Ralph Kimball的主页=没有帮助)。
希望我已经清楚地表达了问题 - 非常感谢您的答案!