数据仓库——基本概述

 数据仓库的建设,是业务发展决策的重要支撑。

数据仓库这个词,只要是做过数据相关的同学,应该都很熟悉。今天简单分享一下一些基础的数仓常识。

01—什么是数据仓库

数据仓库始于20世纪80年代中期。由数据仓库之父
W.H Inmon在1991年出版的“Building the Data
Warehouse”(《数据仓库》)一书中提出了准确而又广泛被大家接受的定义。数仓是面向主题的、集成的、相对稳定的、随时间变化的用于支持管理决策的数据集合。
其实本质上,数仓还是数据库。他的重要作用,是可以更好的支持管理决策。

(1)面向主题的

传统数据库都是面向应用的,即功能层面需要什么数据,数据库就是什么数据。但数仓是基于分析人员分析时关注的角度,进行数据的组织。这就为数仓的便捷分析应用奠定了基础。
比如电商行业中,一般分为以下主题,供参考。

(2)集成的

集成的含义,指的是数据仓库的数据是从原有的分散的数据库数据抽取来的,进行了系统的整合。同一个主题的数据往往是多个业务模块进行的整合。同时,数仓通过分层,将数据从底层一直整合到顶层,实现统一。

(3)相对稳定的

数据仓库的数据和业务数据库的差别之一,是数仓的数据由于为了满足各种查询分析的需求,是不能对数据进行修改的。
比如用户的账户余额,在业务库中是不断变化的,但在数仓中,是固定时间进行的同步,发生了变化是通过时间分区进行区别,而不是去修改数仓中的数据。

(4)随时间变化的

每隔一段固定的时间间隔后,抽取运行数据库系统中产生的数据,转换后集成到数据仓库中。随着时间的变化,数据以更高的综合层次被不断综合,以适应趋势分析的要求。因此,数仓的数据是随着时间变化的。

02—数仓的意义与价值

数据仓库的价值主要在以下几个方面:

(1)数仓可以极大提升BI分析效率,促进业务发展

在没有数仓的时候,领导想要个用户购买行为分析,分析师要怎么办呢?往往得找订单研发提订单数据,找商品研发提商品数据,然后在SQL、Excel中进行各种数据处理、各种数据计算,最终才能做出购买分析。
但有了数仓以后,只要给数据部的同事提一下需求,甚至如果自己会的话,也可以自己完成数据的提取分析工作了。效率简直高了一大截。这在互联网快速响应、业务变化异常快的今天,更是异常重要。

(2)提升数据开发效率,降低重复性建设成本

数仓是通过有组织的分层,将数据集中在一起。对于很多场景,数仓通过维度模型可以很灵活的进行支持,提升了业务数据研发的效率。
比如之前想开发个数据,都是需要从原始数据层面开始抽取。有了数仓,可以自上而下,先看应用层是否可以满足需求,如果不满足再看通用层。这样避免了每次数据开发都是烟囱式重复开发。

(3)可以提高数据质量和一致性

因为现在的数据都集中到统一的数仓里了,所有的指标、逻辑都维持一套统一的口径,避免了出现各个部门数据不一致的情况。公司整体的数据质量也相应提升。

03—数仓的分层

数仓中比较主要的主要的一个内容,就是分层了。每一层都是由很多数据表组成的,只是每层中的数据表,在整个数仓中扮演的角色和用途是不同的。
核心数据架构是四层:缓冲数据层、基础数据层、通用数据层、聚合数据层。其次是临时层和维度层。维度层的表是用来进行各种维度细分的,例如常见的日期维度、商品维度等等。
以下是每一个分层的阐述:
具体的层级示意图如下:
层级之间是有数据流转的顺序关系的。业务数据首先到达BDM层,然后按照业务组织细节数据,生成FDM层。然后根据维度建模的方式生成GDM层。最后分析的应用是通过ADM层完成。
因此,当有数据分析或者数据开发需求时,首先考虑通过ADM中的表进行支持。如果不能满足,再往下一层,到GDM进行支持,以此类推。这样能极大提升数据支持业务的效率,不必每次数据的开发都从底到顶来一遍。

数仓的介绍主要先这些,欢迎交流。

-END-

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注