【Hive—01】数据仓库『 整体概述』

导读:本篇文章讲解 【Hive—01】数据仓库『 整体概述』,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. 数据仓库是什么?

  1. 数据仓库(DataWarehouse / DW):是一个用于 存储、分析、报告 的数据系统。
  2. 目的:构建 面向分析 的集成化数据环境,以数据分析结果驱动决策

    注意:

    1. OLAP系统:面向分析处理的系统。故数据仓库只是OLAP系统的一种。
    2. OLTP系统:面向业务支持事务系统。
  3. 特点:
    1. 数据仓库本身不生产任何数据。从数据库或文件系统中拿数据并保存。【所以叫数据仓库,而不叫数据工厂】
    2. 数据仓库本身不消费任何数据。分析的结果不是给自己用而是用于驱动决策。

在这里插入图片描述

2. 为什么要引入数据仓库?

问:直接在OLTP环境中,即直接在Mysql、Oracle、HDFS等数据库或分布式文件系统上进行数据分析可以吗???

答:可以,但没必要。

  • 因为这样会对数据库或分布式文件系统造成巨大的压力;另外OLTP存储数据的周期是一周或一个月,无法对更久时间的数据进行分析。
  • 所以要建立一个既不影响OLTP系统运行,又专门面向分析的系统。因此,数据仓库产生了。

3. 数据仓库 vs 数据库

数据仓库不是大型的数据库。数据仓库并不是要取代数据库。

  1. 目标不同:数据仓库是为数据分析而设计,数据库是为捕获数据而设计。
  2. 存储数据不同:数据库一般存储业务数据,数据仓库一般存储历史数据。
  3. 操作不同:数据库支持CRUD,而数据仓库只支持查询。

4. 数据仓库 vs 数据集市

  1. 数据仓库 (DataWarehouse ):是面向整个公司组织的数据。
  2. 数据集市 (DataMart) :是面向某单个部门使用的。可以认为数据集市是数据仓库的子集。

数据集市通常只涉及一个主题,主要是这样更加的具体、易于维护,能更好的为数据分析提供支持。

在这里插入图片描述

5. 数据仓库分层架构

5.1 三层架构

由于数据仓库不产生数据,也不消费数据,所以很自然的按照输入、存储、输出分为三层:

  1. 操作数据层 (ODS):又叫 源数据层、临时数据层。主要负责临时存放从数据源中解耦出来数据,做为数据仓库的输入
  2. 数据仓库层 (DW):主要负责对ODS层提供的数据进行加工与整合
  3. 数据应用层 (DA):面向业务为数据分析定制的数据
    在这里插入图片描述

这是自然的分层,在实际开发中可在此基础上增加新的分层或删除某层都是可以的。

5.2 为什么数据仓库要分层?

  1. 结构更加清晰,降低耦合,减少重复开发
  2. 将复杂的问题简单化:将复杂问题分多步解决,每一步只进行单一的处理。
  3. 屏蔽业务的影响:不需要改一次业务就从新接入数据

等等。。。。。。。。。。。。。

5.3 ETL 与 ELT

数据在数据仓库中的流动都属于ETL,其中:

  1. E:代表 数据的抽取 Extra
  2. T:代表 数据的转化 Transfer
  3. L:代表 数据的加载 Load

ETL 与 ELT 代表数据在数据仓库中整体的处理流程不同:

  1. ETL
    在这里插入图片描述
  2. ELT
    在这里插入图片描述

ETL与ELT没必要区分的太清,在实际开发中,什么顺序对业务帮助更大就用哪种。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84540.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!