数仓建设方法论
数据中台
一、数仓分层
1.1分层概念
ods:原始数据层,存放原始数据。
dwd:明细数据层,对原始数据进行清洗,如去空值、日期格式转换、数据脱敏、脏数据处理等。
dws:数据服务层,对明细数据层进行轻度汇总。
dwt:数据主题层,以dws层为基础,进行数据累积汇总。
ads:数据应用层,为数据应用提供数据,指标等。
1.2 数仓分层的意义
1、把复杂的问题简单化。
2、减少重复研发。
3、使用数据与原始数据解耦。
二、数仓理论
2.1关系建模与维度建模
2.1.1关系建模
关系建模也就是我们所说的范式建模,一般OLTP系统采用范式建模,减少数据重复。
第一范式:属性不可分割。(元数据)--(分列)
第二范式:没有不完全函数依赖。(非主属性不能部分依赖主属性,全部依赖)--(拆表:2个单独主题的表)
第三范式:没有传递函数依赖。(非主属性不依赖非主属性,非传递依赖)--(拆表:2个有关联关系的表)
2.1.2维度建模
维度建模一般应用于OLAP系统,为了方便快速查询大量数据,避免大数据量的情况下跨表查询。
维度表:事件的描述信息。
事实表:事实表中每行数据代表一个事件。
星型模型&雪花模型