首页 热点资讯 义务教育 高等教育 出国留学 考研考公

数据仓库维度

发布网友

我来回答

2个回答

懂视网

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

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

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

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

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

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

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

image

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

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

image

image

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

image

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

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

image

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

image

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

image

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

最后看到的效果如下

image

热心网友

行业标准为星型模型
按客户化可成为雪花型模型

数据按用户视角分为事实和维度

比如销售领域

销售数据就是事实 会有一张行数巨大的销售事实表

而客户需要的分析关注角度就为维度

比如地区维度表,时间维度表,客户维度表,产品维度表等

事实表和维度表呈标准星型关联
事实表在中间 维度表在周围环绕

维度表可按各属性变化快慢客户化拆分成雪花型

你可以去了解下数据仓库之父所定义的总线结构
可以很好的搭建各个数据集市,进行平行的扩展

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com