模块开发-数据仓库的设计 及星型模型 雪花模型 星座模型
模块开发—数据仓库设计
1.维度建模:专门用于分析性数据库【还有数据仓库/数据集市建模的方法】的设计。 数据集市可以理解为一种小型的数据仓库。
维度表(dimension):就是分析事物的某个角度 数据量不大 精确度高 如:“昨天下午我在星巴克花费 200 元喝了一杯卡布奇诺” 从这句话中我们可以划分三个维度:时间维度;地点维度;商品维度
事实表(fact table):表示对分析主题的度量。事实表包含了 与各维度表相关联的外键,并通过jion方式与维度表关联。事实表的度量一般是数值类型,且记录数会不断增加,表规模迅速增长。比如上面消费的例子
消费事实表:prod_id(引用商品的维度表);timekey(引用时间维度表);place_id(引用地点维度表),Unit(销售量)
总的来说:数据仓库不需要严格遵守规范化设计原则。因为数据仓库的主导功能是面向主题,以查询为主,不涉及到数据更新操作。同时事实表的设计是以能够正确记录历史信息为准则,维度表的设计是能够以合适的角度聚合主题内容为准则。
维度建模的三种方式:
1.星型模式(star schema)最常用的维度建模模式:星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。
特点:a.维度表只和事实表关联,维度表之间没有关联。
b.每个维度表主键为单列,且该主键放置在事实表中,作为俩边连接的外键。
C.以事实表为核心,维度表围绕核心呈现星星分布
如图:

2.雪花模式(snowflake schema):是对星型模式的扩展。雪花模式的的维度表可以拥有其他维度表的但是由于这种模型维护成本太高,而且性能方面需要关联多层维度表,性能也比

本文介绍了数据仓库设计中的维度建模,包括星型模型、雪花模型和星座模型。星型模式是最常用的,以事实表为中心,维度表直接连接;雪花模式是星型模式的扩展,维度表间存在关联,但维护成本高;星座模式则是基于多张事实表,共享维度。在实际业务中,星座模式更为常见。ETL过程用于从数据源抽取、转换数据并加载到数据仓库中,常借助工具如Hive进行数据分析。
最低0.47元/天 解锁文章
898

被折叠的 条评论
为什么被折叠?



