数据仓库的建立一般都是分层建立的,那么应该分几层比较合理呢?这个就要结合业务和项目规模,我这里因为项目不大,就建立三层,分别是原始数据层(ODS),数据仓库层(DW)和数据应用层(APP)。 数仓设计
维度建模
以维度为标准 开展数据的分析需求
适用于面向分析领域的理论。比如分析型数据库 数据仓库 数据集市(OLAP)
事实表
分析主题的客观事件度量 是分析主题的数据聚集 事实表中一条记录往往对应着客观的一个事件 往往是一堆主键的聚集维度表
所谓的维度就是指看待问题的角度 可以通过不同的维度去分析同一个事实表 得出不同的分析结果 维度表可以跟事实表进行关联查询多维度数据分析
所谓的多维数据分析就是指通过不同维度的聚集计算出某种度量值。
常见度量值:max min count sum avg topN
举个栗子:统计来自于北京女性24岁未婚的过去三年购物金额最多的前三个。 维度:地域 性别 年龄 婚姻 时间 度量值:sum(订单金额)--->top3维度建模的三种模式
星型模式
一个事实表多个维度表 维度表之间没有关系 维度表跟事实表进行关联 企业数仓发展初期常见的模型雪花模式
一个事实表多个维度表 维度表可以继续关联维度表 不利于后期维护 企业中尽量避免演化成该种模型星座模式
多个事实表 多个维度表 某些维度表可以共用 企业数仓发展中后期常见的模型本项目模式设计
因为项目中只有一个分析的主题:网站的流量日志情况 因此对应的事实表只有一个:网站流量日志
本项目采用星型模式 事实表:对应着数据预处理完之后的原始网站日志情况 维度表:通常要结合业务决定分析的维度 要和事实表能够关联上 要以能够涵盖事实表为基本标准Q:问点击流模型数据算什么类型的表?
点击流模型数据既不是事实表 也不是维度表 是一个业务模型数据 可以称之为事实表的业务延伸。