数据仓库建设的理解

1.数据仓库的定义及价值

数据仓库(Data Warehouse,简称“DW”)的概念由“数据仓库之父”比尔.恩门(Bill Inmon)在1990年提出,它主要是面向主体、集成的、相对稳定的、反应历史变化的数据集合,也可称为数据环境,用于支持管理决策,也便于进行下游OLAP、数据挖掘(Data Mining),分析有价值数据,帮助构建商业智能。

2.数据仓库通用架构划分(粗分)

基于实际情况,数据仓库顶层架构通常做3级划分,分别是源层(Data Source),DW(数据仓库层),数据集市(Data Mart)。

源层:也叫数据源层,有些地方也叫ODS层,主要是为数据仓库提供统一的数据来源,将各类业务系统,不论异构还是同构,数据进行统一、集中化处理,同时做一些数据的清洗、整理工作。源层会保留一定时间的数据。

DW:数据仓库层,是数仓建设的核心,通常遵循的建设的方式有:“星型模型”和“雪花型模型”,但前提都遵循3NF的建模。

  • 星型模型”是“维度建模”的一种典型,是以一个事实表和一组维度表组成,是以分析决策的需求出发构建模型,协助用户快速的做业务分析,支持快速响应用户查询,更直接面向业务,不需要join很多表。

                              数据仓库建设的理解_第1张图片

  • 雪花模型”是关系建模的典型,也是“星型模型”的另一种扩展,当一个或多个维度表通过另外维度表连接到事实表时,其形状就像多个雪花连接在一起。可理解为“星型模型”中的某些维度表是其他维度表的事实表。“雪花模型”设计方式比较符合数据库范式理论,设计方式比较正规,数据冗余少,但查询时需要join多张表,效率相对较低,后期维护比较复杂。两者优劣比较:

    属性

    维度建模

    关系建模

    数据总量

    可读性

    容易

    表个数

    查询速度

    冗余度

    对实时表的情况

    增加宽度

    字段比较少,冗余低

    扩展性

    实施难度

    低,周期短

    高,周期长

    使用场景

    快速变化行业、战术性投入、直接面向客户,比如淘宝

    成熟行业、战略性投入、不直接面向客户,比如运营商

  • Teradata建模方式,TD数仓依赖于TD自身硬件设备来实现,在实现时不需要按照上述两种方式建模,TD主要方式是将原系统业务数据按照十大主题模型进行数据拆分,将原业务表打散。TD建模既有“星型模型”影子,也有“雪花模型”一些建模方式,表的可读性较强,数量较多,但相对冗余度却没有“星型模型”高。并且这种建模方式也能屏蔽或降低业务系统表(或字段)变更对下游系统数据影响,如果原业务表新增字段,则主体模型新增一张小表即可,将新增数据加载到小表中即可,其他未变化字段的表或数据不需变化。

数据集市(Data Mart):一般是面向业务,DM数据提供用户直接访问,数据主要来源于DW层,可以对原业务数据进行再此整合、处理,以满足实际业务需要。

3.XX仓库设计

                         数据仓库建设的理解_第2张图片

其中ODS作为数据仓库主要来源(且建设时间早于数仓),各层作用:

  • 数据缓冲层:落地ODS当日数据,根据数据拉链方式,获取当日数据,并对数据做清洗。
  • 主题模型层:面向主题的模型设计,将业务数据加载到各类主题表内,同时存储历史数据。设计遵循3NF范式设计。
  • 共性加工层:面向业务层面应用,将主题模型层表数据进行业务层面整合(明细级/汇总级),以“宽表”或逆3NF范式设计。

4.分层设计的价值

在任何情况,我们都希望自己数据能够有序流转,数据生命周期能够清晰明确被使用者所感知,一个清晰数据架构设计,不仅能提高数据管理效率,提升数据潜在应用价值,同时也能保障未来若干年业务扩展。架构分层好处:

  1. 高效数据组织形式,提高数据的维护效率;
  2. 清晰的职责划分,各层只处理各层内容,简化复杂问题;
  3. 规范的数据结构,按照统一标准规范全企业的各类数据;
  4. 减少重复开发,建设通用汇总层,提供统一的加工数据;
  5. 避免用户直接使用操作型数据,可以使用户更高效访问数据。

特别说明:文章中有部分内容和图借鉴或来源于其他文章。

https://blog.csdn.net/weixin_42874157/article/details/88800165

你可能感兴趣的:(数据仓库建设的理解)