为什么要做数仓分层,不做行吗?

人工智能45

为什么要做数仓分层,不做行吗?

来源:数据社 作者:数据一哥 编辑:数据一哥

全文共1404个字,建议阅读 4分钟

大家好,我是一哥。

今天跟大家聊一聊数仓为什么分层?

01

经典的数仓分层

首先跟大家聊一个经典的数仓分层结构,主要包括 ODS、DWS、DW、APP四层。

为什么要做数仓分层,不做行吗?

ODS:抽取的原始业务数据,结构一般和原始业务数据库表结构或者抽取的业务日志数据结构保持一致。一句话: 从业务系统增量抽取,数据不做清洗转换,与业务系统数据模型保持一致。

DWS:根据ODS层,增加一些维度信息,过滤一些异常数据。为DW层提供来源明细数据,提供业务系统细节数据的长期沉淀,为未来分析类需求的扩展提供历史数据支撑。

DW:模型层,根据DWS层数据,按各个业务需求,以某个维度ID进行粗粒度汇总聚合。此层一般会根据数仓涉及的业务发展或者主数据的建立等,抽象出一些公用的聚合汇总模型

APP:应用层/指标层/报表层,每个公司的叫法不一样,一般指根据特定的某个应用或者报表进行的数据指标开发汇总。

02

数仓为什么分层

那么为什么数据仓库会有分层呢?

每多一层不就会多一些开发工作吗?还会经常有多层数据重复?不分层可不可以?

也许上面的问题会困扰你,可能有人会说,我来公司的时候已经有了开发规范,还得层层。

[En]

Maybe the above problems will bother you, and some people may say that I already had a development specification when I came to the company, and I have to layer it up.

其实数据仓库分层原因可以概括为以下4个方面:

为什么要做数仓分层,不做行吗?

  1. 用空 间换时间:数仓的发展已经几十年了,在大数据技术出现之前,我们一般采用Oracle等一些关系型数据库来做数仓,但随着数据量的发展,特别是电信和银行业务的快速发展(那时候互联网企业还没起来),在进行一个数仓应用开发过程中,我们需要分很多步骤来进行,所以会考虑用空间来换时间,包括现在市面上也会有一些用空间换时间这样的OLAP产品。
  2. 减少重复开发:可以把一些指标用到的汇总数据进行抽象,建立一个或者多个模型,这些模型可以支撑我们建立多个数仓报表,这一步需要对业务非常了解,不然就会出现上面问题说的 " 还会经常有多层数据重复?"
  3. 复杂的 题简单化:做过传统数仓的都知道,以前Oracle的存储过程会写几千行,所以现在我们一般很少写几千行的业务ETL逻辑了,而是分为多个ETL过程,从明细层到应用层进行逻辑拆解,中间也会进行一些逻辑合并,形成模型层。
  4. 数据安全:通过分层,可以更方便地对不同层,不同的数据模型进行权限管理,特定业务场景下,对不同的开发人员和业务人员屏蔽一些敏感的数据。

03

数仓分层的模板

我们看到网上有很多仓库建模的规范,那么有没有一套万能的规范模板可以直接使用呢?

[En]

We can see that there are many specifications for warehouse modeling on the Internet, so is there a set of omnipotent specification templates that can be used directly?

每个公司的业务发展都不尽相同,不能完全套搬一些规范,在建立数仓之前是要对自己公司的业务进行梳理,包括业务种类、数据量、需求量等,也许公司的数据量本来就不大,而且业务比较单一,那么明细层(DWS)可以不要呀,直接通过原始数据层来建立模型汇总层。

该规范供大家拓展思路参考,几个仓库的开发建设与业务密切相关。开发效率提高了,分析人员用模型说了,业务应用人员说了,这很好。

[En]

The specification is for everyone to expand their ideas for reference, the development and construction of several warehouses is strongly related to the business. The development efficiency has been improved, the analysts have said it with the model, and the business application staff have said it, and that's fine.

公众号推送规则变了

点击上方公众号名片, 收藏公众号 ,不错过精彩内容推送!

为什么要做数仓分层,不做行吗?

Original: https://blog.csdn.net/WindyQCF/article/details/123038984
Author: 数据社
Title: 为什么要做数仓分层,不做行吗?

相关文章