Home >Database >Mysql Tutorial > 数据仓库(集市)之间共享维度表

数据仓库(集市)之间共享维度表

WBOY
WBOYOriginal
2016-06-07 17:39:481337browse

经常有朋友问到一个问题:事实表和维度表是不是一定要在一个数据库里面呢? 为什么会有这样的问题呢?因为我们讲到,如果数据仓库足够大的话,可能会拆分为所谓的数据集市。而通常会按照所谓的业务模块的不同划分,例如人事管理的,销售管理,财务管理的等等

经常有朋友问到一个问题:事实表和维度表是不是一定要在一个数据库里面呢?

为什么会有这样的问题呢?因为我们讲到,如果数据仓库足够大的话,可能会拆分为所谓的数据集市。而通常会按照所谓的业务模块的不同划分,例如人事管理的,销售管理,财务管理的等等。

这样做看起来不错,美国空间,但随之而来又有一个问题了:这些数据库之间其实有点信息是共享的,例如员工信息。那么是不是每个数据集市中都要单独保存一份呢?

我想绝大部分情况下,如果每个数据集市都单独保存一份,这不是一个好的设计。一来数据是重复的,美国服务器,同时也带来了同步更新的问题。

那么,我们该如何跨数据库设计事实表和维度表的关系呢?事实上,只要你动手开始做,(而不仅仅是想),就会发现它并不是那么难

1. 下面的图,我展示了两个不同的数据。作为演示目的,我就是在HR数据库中建立了一个维度表DimEmployees,而在Sales数据库中建立了一个事实表FactSales。

image

很显然,我们不可能为他们在数据库内部设计好关系。但这又有什么问题呢?没有。数据仓库(或者数据集市)只是存数据,至于数据完整性的保证,我们还有其他很多方式(例如SSIS)来做。

2. 我们在设计Analysis Service项目的时候,需要添加两个数据源

image

image

 

3.同时,我们据此创建一个数据源视图

image

很多朋友都诧异地说,在这个对话框,我们显然是只能选择一个数据源的。是的,你没有看错。你在这个向导中,只需要选择任意一个数据源即可。我们要做的是,香港虚拟主机,先把这个数据源视图创建起来。

然后,就可以在数据源视图的空白处,点击右键,选择“添加/删除表…”

image

你会发现这里可以选择不同的数据源

image

4. 为这两个表创建关系,最终看到的效果如下

image

 

5. 创建Cube,设计维度,部署,处理,浏览

最后看到的效果如下

image

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn