如何从现有数据库实际构建数据仓库?

时间:2013-10-29 08:35:30

标签: database data-warehouse etl

希望如此,这个问题符合Stack Overflow标准。

我很清楚数据仓库的概念。但我对实际构建数据仓库感到困惑,因为我只是处理报告工具。

假设我的Oracle中有一个数据库,考虑20个表。据我所知,DW建筑的步骤是“做ETL”

但我很困惑,

1]定义尺寸&事实与它们之间的关系以表结构的方式。

2]如何选择或实施我想要的架构,比如Fact Constellation?

3]我应该如何确定这是维度,这是事实?

4]我应该如何使用代理键?

简单来说,我想从现有数据中构建数据库中的数据仓库。我该怎么办?

欢迎您提供答案,想法和参考资料。

1 个答案:

答案 0 :(得分:1)

首先,做伊恩所说的。

有许多不同的方法接近数据仓库。这是一个人的观点,它不一定是最好的或正确的,但我有几年的工作经验,我的成像与你的相似情况(有人说过,嘿,让我们建立一个数据仓库报告和内容)

这是

1]维度表 - 查找包含可能随时间变化的信息的表格    事实表 - 时间点值/状态(通常不标注尺寸)。通常包含一堆可聚合数据字段和链接回维度表

产品,人员,组织是Dimention Tables的候选者。   销售,组织结构图关系,员工计数是事实表的候选者

Fact将包含返回Dimension表的FK链接。维度表不应该对其他表有任何直接的FK引用(如果必须,请使用桥接表,但如果您尝试将源系统重建为自身的标注副本,那么您将会遇到错误的时间..)

2]从您将要报告的内容开始,然后从那里开始工作。通常答案是“我们需要报告所有事情”。但最终你会发现。 (我不确定你在这里问的是什么)

3]高级别:考虑excel中的交叉表。如果字段中的列或行标题可能是一个维度。如果它是图表中的数字,那可能就是事实。

4]始终在仓库中使用自己的代理键。 (代理键使您可以在尺寸表中使用唯一的主键)让所有人保密,它们仅适用于您的仓库/数据集市。 [意见]甚至给你的FACT表自己的代理键,即使它们适合复合PK [/意见]。

同样,我强烈建议您花更多时间研究DW概念。提出一个强大的内部概念,了解您的数据仓库目标是什么以及如何/如何将仓库与数据集市分开。

考虑花费精力修复源系统,以便它们能够生成您所追求的输出。