数据仓库设计

1. 维度建模基本概念
维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解为是一种"小型数据仓库"。
维度表(dimension)
维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况, 你可以选择按类别来进行分析,或按区域来分析。这样的按..分析就构成一个维度。再比如"昨天下午我在星巴克花费200元喝了一杯卡布奇诺"。那么以消费为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天下午),地点维度(星巴克), 商品维度(卡布奇诺)。通常来说维度表信息比较固定,且数据量小。
事实表(fact table)
表示对分析主题的度量。事实表包含了与各维度表相关联的外键,并通过JOIN方式与维度表关联。事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。比如上面的消费例子,它的消费事实表结构示例如下:
消费事实表:Prod_id(引用商品维度表), TimeKey(引用时间维度表), Place_id(引用地点维度表), Unit(销售量)。
总的说来,在数据仓库中不需要严格遵守规范化设计原则。因为数据仓库的主导功能就是面向分析,以查询为主,不涉及数据更新操作。事实表的设计是以能够正确记录历史信息为准则,维度表的设计是以能够以合适的角度来聚合主题内容为准则。

2. 维度建模三种模式2.1. 星型模式
星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。
星形模式的维度建模由一个事实表和一组维表成,且具有以下特点:
a. 维表只和事实表关联,维表之间没有关联;
b. 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键;
c. 以事实表为核心,维表围绕核心呈星形分布;

数据仓库设计
2.2. 雪花模式
雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用。

数据仓库设计
2.3. 星座模式
星座模式是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息。
前面介绍的两种维度建模方法都是多维表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大部分维度建模都采用的是星座模式。
数据仓库设计

3. 本项目中数据仓库的设计
注:采用星型模型
3.1. 事实表设计
数据仓库设计
数据仓库设计
3.2. 维度表设计
数据仓库设计
注意:
维度表的数据一般要结合业务情况自己写脚本按照规则生成,也可以使用工具生成,方便后续的关联分析。
比如一般会事前生成时间维度表中的数据,跨度从业务需要的日期到当前日期即可.具体根据你的分析粒度,可以生成年,季,月,周,天,时等相关信息,用于分析。

转载于:https://blog.51cto.com/13587708/2286395

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据仓库设计文档是指在构建和维护数据仓库中所编写的一份文档,它包含了数据仓库设计、结构、功能和运行规则等方面的详细描述。 首先,在数据仓库设计文档中,需要明确数据仓库的目标和需求。这包括对数据仓库的目标业务问题的理解,以及对数据源、数据质量和数据处理需求的分析。 接下来,需要对数据仓库的结构进行设计。这包括对数据模型、维度模型和事实表的设计。数据模型是数据仓库的逻辑模型,它描述了数据仓库中的实体、属性和关系。维度模型是一种针对特定问题领域的数据模型,它描述了事实表和维度表之间的关系。事实表是数据仓库中的核心表,它包含了事实数据和与之关联的维度数据。 同时,还需要考虑数据仓库的ETL(提取、转换和加载)过程。在设计文档中,要描述数据仓库中的数据提取逻辑、数据转换规则和数据加载过程,以确保数据能够从源系统中提取到数据仓库中,并进行合适的处理和加载。 此外,在设计文档中,还需要描述数据仓库的查询和报表需求。这包括了对数据仓库的查询接口和查询工具的设计,以及对报表和分析需求的分析和设计。 最后,在设计文档中,还需要考虑数据仓库的安全和权限管理。这包括了对数据仓库的访问权限控制和数据加密等方面的设计。 总而言之,数据仓库设计文档是数据仓库构建和维护的基础,它提供了对数据仓库的整体架构、数据模型、ETL过程、查询和报表需求、安全和权限管理等方面的详细描述和指导,以确保数据仓库能够满足业务需求,并提供高质量的数据支持决策分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值