数据仓库

[TOC]

数据仓库

ChatGPT总结:

一、数据仓库概述

  1. 数据库: 用于OLTP,处理事务性数据,常更新。

    • [4]
  2. 数据集市: 通常是一部分的数据仓库,专注于某一业务领域的数据。

  3. 数据仓库: 面向主题的存储库,由Bill Inmon定义,支持企业决策制定过程。

  4. 数据湖: 存储结构化和非结构化数据,提供原始数据池。

    1. 数据湖是一个集中存储各类结构化和非结构化数据的大型数据仓库,它可以存储来自多个数据源、多种数据类型的原始数据,数据无需经过结构化处理,就可以进行存取、处理、分析和传输。数据湖能帮助企业快速完成异构数据源的联邦分析、挖掘和探索数据价值。

    数据湖的本质,是由“数据存储架构+数据处理工具”组成的解决方案。

    • 数据存储架构:要有足够的扩展性和可靠性,可以存储海量的任意类型的数据,包括结构化、半结构化和非结构化数据。

    • 数据处理工具,则分为两大类:

      • 第一类工具,聚焦如何把数据“搬到”湖里。包括定义数据源、制定数据同步策略、移动数据、编制数据目录等。
      • 第二类工具,关注如何对湖中的数据进行分析、挖掘、利用。数据湖需要具备完善的数据管理能力、多样化的数据分析能力、全面的数据生命周期管理能力、安全的数据获取和数据发布能力。如果没有这些数据治理工具,元数据缺失,湖里的数据质量就没法保障,最终会由数据湖变质为数据沼泽。

理解与归纳:

数据仓库是一个面向主题的存储系统,旨在为企业各层次的决策制定提供支持。与数据库专注于事务性数据不同,数据仓库存储历史数据,为分析处理提供基础。数据集市则是数据仓库的一部分,专注于某一业务领域。数据湖是一个原始数据池,用于存储结构化和非结构化数据。整体而言,这些概念构建了一个全面的数据管理体系,支持企业在信息化时代做出更具深度和广度的决策。

数据仓库和数据湖的不同类比于仓库和湖泊:仓库存储着来自特定来源的货物;而湖泊的水来自河流、溪流和其他来源,并且是原始数据。

数仓分层

参考地址:https://zhuanlan.zhihu.com/p/501391839?utm_medium=social&utm_oi=951040780123582464

第一层:

ODS——原始数据层:存放原始数据

ODS层即操作数据存储,经过抽取、洗净、传输,也就说传说中的ETL之后,装入本层;包括两类,一个用于存储当前需要加载的数据,一个用于存储处理完后的历史数据。历史数据一般保存3-6个月后需要清除(以业务定)

第二层:

DWD——数据明细层:对ODS层数据进行清洗、维度退化、脱敏等。

该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证,在ODS的基础上对数据进行加工处理,提供更干净的数据。易用性,该层会采用一些维度退化手法,当一个维度没有数据仓库需要的任何数据时,就可以退化维度,将维度退化至事实表中,减少事实表和维表的关联。例如:订单id,这种量级很大的维度,没必要用一张维度表来进行存储,而我们一般在进行数据分析时订单id又非常重要,所以我们将订单id冗余在事实表中,这种维度就是退化维度。

第三层:

DWS——数据汇总层: 对DWD层数据进行一个轻度的汇总。

DWS层为公共汇总层,会进行轻度汇总,粒度比明细数据稍粗,会针对度量值进行汇总,目的是避免重复计算。该层数据表会相对比较少,大多都是宽表(一张表会涵盖比较多的业务内容,表中的字段较多)。按照主题划分,如订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。

第四层:

DM——数据集市层:为各种统计报表提供数据。

存放的是轻度聚合的数据,也可以称为数据应用层,基于DWD、DWS上的基础数据,整合汇总成分析某一个主题域的报表数据。主要是提供给数据产品和数据分析使用的数据,通常根据业务需求,划分成流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。从数据粒度来说,这层的数据是汇总级的数据,也包括部分明细数据。从数据的时间跨度来说,通常是DW层的一部分,主要的目的是为了满足用户分析的需求,而从分析的角度来说,用户通常只需要分析近几年的即可。从数据的广度来说,仍然覆盖了所有业务数据。

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦