SQL Server数据仓库的构建与分析
在这一阶段要做好很多前期的工作,因为你的原始数据库中的数据也许和你的正要建立的数据仓库的需求也许有很大的出入,结构完全是两马事。你如何才能将你的原始数据提取出来,作为数据仓库的有用数据呢,你的原始数据库中存储的是零碎的事务数据,而你的数据仓库中要的是经过转化和提炼过的统计数据,比如说,你的原始数据库中存储这每天的所有存款和取款记录,而你的数据仓库并不关心你的每条记录的数据,而是希望在最短的时间内,以最快的速度统计出这个月的所有存款和取款的总数量,如果这种查询放在原来的数据库上来做的话,也就失去了数据仓库的意义,超大规模的数据使你无法查询下去,这时候你就要将对这个查询有意义的数据转化到数据仓库,这就是数据清洗,即ETL。实现数据清洗有很多的方法,也有很多的细节问题,比如,数据类型的匹配,数据格式的转换,异地数据表数据集中到一起时有主键重复,以及你如何定期,按时的将数据加工到数据仓库中来等等。在我的示例中没有严格的经过着一步,因为我没有规范的原始数据库,也没有规范的业务需求。我只是运用星型模型和雪花模型做了几个典型的数据仓库表。其表关系如下:
窗口中FACT为事实表,TIME,ADDRESS,DETAIL分别为时间维,地址维,详细地址维,DETAIL又是ADDRESS的子维。他们又构成雪花模型。其中都有部分数据。
3现在,数据仓库已经建立成功,下一步就是在OLAP服务器上建立元数据数据库。这个数据库和我们以前所说的数据库不同,他是存放元数据的数据库,比如我们下一步要创建的多维数据集、角色、数据源、共享维度和挖掘模型等。然后需要和早期在 ODBC 数据源管理器中建立的数据源连接,使其与数据仓库连接上。
我创建了数据库MMM和数据源TEST,如下:
这些工作做好了之后,就可以用数据仓库中的维表来建立共享维度,现在以时间维和地址维为例。其创建过程一样。
依此点下一步即可创建时间维(TIME),下面用ADDRESS和DETAIL建立雪花模型共享维度
点下一步即可创建DETAIL维。创建完成之后都要进行处理才能生效