当一个公司的业务持续增长,数据不断拓展增大的时候,伴随而来的就是关于数据如何规整的问题。一开始的业务规划大部分会是最简单的实际业务数据的表示和存储即可,但是当业务数据膨胀的时候,随着业务的需求,这种简单的存储表示方式会很大程度的影响到数据使用和数据开发。所以应运而生的就是关于数据模型的搭建,即搭建数据仓库。
而数据仓库的搭建,最核心的且最难的就是基于该公司下对于其业务的理解,然后对业务的流转进行分类规整和建模。以下介绍的是关于数据仓库的搭建的一般规则,以及如何基于一家公司,将业务规则转为数仓的方式。
数据仓库一般分为以下几层:业务源表层、模型明细层、模型归纳层、表示层。
业务源表层:ODS层,存放的是公司里与业务系统直连的数据,或者是直接爬取的业务数据,不会进行过多的数据清洗或者数据关联,主要是保存与业务实际数据一致的数据,该层主要用来保障数据仓库对于数据源的一致性,也有利于后期的数据维护和跟踪。
模型明细层:DWS层,该层是基于ODS层往上抽取的一层,会进行一些数据加工,主要操作是将一些脏数据进行清洗或者以业务为导向,将不常用的冗余字段剔除掉然后入库。保证后面其他模型层取该层数据的时候是干净的。
模型归纳层:DWD层,该层是基于DWS层往上抽取的一层,主要是将相关维度的数据进行规整。以业务为导向,区分主题,然后将数据以模块的方式进行规整为大表。
模型一般分为以下几类:
维度表:存放的是与业务数据相关的基本信息,仅存放基本信息,如店铺信息表、商品信息表、汽车信息表等。
业务表:存放的是进行模型规整后的业务数据,仅存放流水信息,不含关于实体的基本信息,如店铺销售流水表、公司物料采购流转表。
配置表:存放的是关于业务需要的自定义表,主要是手动配置的。
以上的模型主要应用方式,就是以业务表为中心,关联维度表和配置表,形成星型模型。该方式可以大程度降低数据开发的工作量,提高效率,而且可以保证规范性,有利于后期运维和其他数据接口的使用。
表示层:ADS层,该层是基于DWD层往上抽取的一层,主要是为了提高数据使用的速度,该层的数据一般是根据业务需求每日跑批进行计算,然后存表入库,供应用层直接取数,避免因为业务逻辑复杂导致的数据查询速度过于缓慢的问题。
以上便是一般的数据仓库搭建的模型层的规则,但是针对不同公司的业务需要,可以自定义的设计模型层,以上不是唯一的建模标准,对于项目的设计需要基于公司的实际情况落地。
一如一开始所言的,数据仓库最核心的是对于公司业务的理解,然后区分主题,这个需要较多时间的投入和梳理,才能保证设计出来的模型的利用价值最大化,同时保证模型的高可拓展性。
数据仓库搭建浅谈
最新推荐文章于 2023-07-15 08:42:13 发布