数据仓库的架构:星型模型和雪花模型架构

星型模型是确定了一个事实表和多个维度表

雪花模型是:事实表两边的维度表可以再有子表,主要是表达清洗的维度层次关系(例如地区维度省市,品类维度一级品类二级品类)

 

构建企业级数据仓库的流程:

1、确定主题

确定数据分析或前端展现的主题

2、确定量度

技术指标的统计值,例如数据汇总的最大值最小值,年销售额等

3、确定粒度

量度的聚合程度,一般采用最小粒度原则,即数据保留的时间单位,通常为天

4、确定维度

数据分析的各个角度,时间、地区、产品等,基于不同的维度,可以看到各量度的汇总情况,如时间维度,某月销售额,维度交叉分析的情况,如某个地区某个品类的销售量

5、确定事实表

思想上是将原始表与维度表进行关联,生成事实表。

做法是加载原始表中量度数据,同时取出维度表的主键放入事实表中作为关联,没有描述性信息

采用瘦高原则,要求事实表数据条数多,描述性信息尽量少

事实表是数据仓库的核心,join得到的事实数据表,一般记录条数都比较大,需要设置索引,提高数据仓库的查询性能优化,

如果前端连接数据仓库进行查询,可以建立相关的中间汇总表或物化视图,方便查询

 

数仓实践技巧:

1、准备区运用

在数据服务器和数仓服务器中间加一台服务器,专门用于数据ETL

2、时间戳运用

时间维度统计

缓慢变化维 ->拉链表

3、日志表运用

ETL结果统计

方法是我们使用一张或多张Log日志表,将出错信息记录下来,在日志表中我们将记录每次抽取的条数、处理成功的条数、处理失败的条数、处理失败的数据、处理时间等等。这样,当数据发生错误时,我们很容易发现问题所在,然后对出错的数据进行修正或重新处理。

4、调度运行

确定需要多久更新一次

增量更新

事实数据量大,可以按天更新,数据量不大,可以按月或半年更新一次

如果有缓慢变化维,更新事实数据表之前要先更新维度表