内容概览:数据仓库是什么

上游数据从哪儿来

数据仓库的结构设计

基础数据层

主题统计层

主题标签层

主题汇总层

表命名规则和数仓的使用规范

内容正文:

一、数据仓库是什么

数据仓库即Data Warehouse,简称为DW,是一套分主题搭建的数据库,可用来支持后续数据查询分析、OLAP系统建设以及实时数据建模等工作。由于DW数仓通常搭建在Hadoop集群上,所以背后还有很多Hadoop集群性能和特点需要同时关注和了解,来提高数据查询的效率,比如数据倾斜问题的解决。

二、上游数据从哪儿来

数据仓库的上游取自上报日志数据,这里就和数据埋点到数据采集再到数据上报一系列流程有关,这里暂不展开赘述,之后会做详细介绍。

三、数据仓库的结构设计

通常,数据仓库会分为以下几类层级来搭建,从底层往上层依次为:基础数据层(维度层、明细层)、主题统计层、主题标签层、主题汇总层。数据仓库结构层级在不同公司的叫法不同,也可按照DIM层(维度)、DWD层(流水)、DWS层(汇总)、ADS层来区分。

四、基础数据层

基础数据层包括维度数据和明细数据两部分,维度数据是用来存储数据字段以及各主键基础属性字段,比如说用户维度表包含用户ID、性别、年龄、手机型号等信息。明细数据是对ODS层的日志数据进行异常值过滤和基础信息关联,但不做聚合统计处理,又可称为流水数据。

五、主题统计层

搭建完基础数据层的数据表之后,就可以分主题的去设计上层表了。拿外卖业务举例,主题可以分为商家侧和用户侧,商家侧存储和后续商家分析相关的数据,用户侧存储和后续用户消费分析相关的数据。

而主题统计层则是对用户行为进行聚合计算统计。

六、主题标签层

用户标签和其他通过基础统计或机器学习产出的标签都可以存在标签层的表中。

七、主题汇总层

把一个主题下的统计层和标签层的数据表做关联,形成一个大且宽的汇总表,方便后续分析师和业务人员查询数据使用。而且在底层逻辑更新的情况下,上层可以实现无感知地被使用。

八、表命名规则和数仓的使用规范

整个数据仓库应该有一套统一的命名规则,通常会以 业务名_层级名_主题_表内容名_产出频率_表类型 来命名。

实际上,一套健全的数据仓库是可以极大地提高数据分析的工作效率的,不管是为了数据科学研究,还是分析报表的引用,都可以让工作更便捷。