我已经谈到了构建属于你自己的数据仓库需要采取的前两个步骤(请参阅:如何在4周内构建数据仓库,第1部分)。选择架构和DBMS是需要完成的第一件事情。到目前为止,我们已经有了需要复制的数据的概念以及我们想要存储数据的数据库。缺失的部分就是复制的过程。我们如何存储复制的数据?我们如何转换数据?这些是我在这篇文章中所要回答的问题。
有很多方法可以将事务数据库中的数据复制到DW(数据仓库)中。为了简单起见,假设我们每天运行一次作业来复制数据。但如果当时,我们的业务不能运行,那么事务数据库就没有被更新。因此我们要两个事务数据库(TDB1和TDB2),所以我们的DW必须包含来自两者的数据。
IMAGE1显示两个数据库有两种不同的模式,图中我们用数据仓库并且用一个问号来表明我们需要复制(还未知道如何复制)的数据。
我们将使用ETL(提取,转换和加载)作业来填充我们的DW。在这里我们有两个选择:
让我们仔细看看这两种方法。
一步到位的过程包含了一个可以处理所有事情的工作,它将来自不同输入源(比如TDB1和TDB2)的数据分类并合并到内存中,并将其加载到DW中。尽管这种方法是最简单的,但它有一些明显的缺陷:
两步过程包括两个工作:
如果你选择这种方法,你将会得到以下几个好处:
虽然,引入额外的步骤(将数据复制到暂存区域)可能会导致开始时的实施复杂化,但如果考虑您所获得的好处,耗费的成本并不算太高。而且该过程更可靠,更容易扩展。另外,使用DBMS连接来自多个输入源的数据的能力将为您节省大量时间。
大部分需要复制的表格都属于以下类型之一:
在某些情况下,并不那么容易:
最后,我想再说一次,它不像人们所说的那么复杂。依靠一个人建立一个简单的数据仓库是可以在一个月内完成的任务。当然,它背后有很多理论(比如如何处理不同类型的规则等)。但是为了给你的业务带来一些价值,你不需要具体知道所有理论,仅仅了解基本知识就足够了。
从http://victorsavkin.com/post/9875068942/how-to-build-a-data-warehouse-in-4-weeks-part-2