【大数据Hive3.x数仓开发】数仓基础理论

注:学习课程:黑马程序员Hive全套教程,大数据Hive3.x数仓开发精讲到企业级实战应用的学习记录。

概念

数据仓库(Data Warehouse)是一个用于存储、分析、报告的数据系统;
数据仓库的目的是构建面向分析的集成化数据环境,分析结果为企业提供决策支持。

数仓本身不生产数据,数据来源于不同外部系统;
同时数据仓库自身也不需要消费任何数据,生成的数据结果开放给各个外部应用使用。

因此叫仓库,不叫工厂。

OLTP

1)操作型记录的保存
OLTP(联机事务处理系统)基本特征是前台接受的用户数据可以立即传给后台处理。关系型数据库是典型应用。Oracle、MySQL,SQLserver
2)分析型决策的制定
稳妥办法是:==基于业务数据开展数据分析,基于分析的结果给决策提供支撑。即所谓的数据驱动决策的制定。
OLTP环境开展分析可以但没必要,OLTP核心是面向业务,支持业务,支持事务。一般来说读的业务大于写的压力。有这些问题:读取压力大;进存储数周或数月数据;数据分散不同表,字段类型属性不统一。

数仓的构建

面向分析\支持分析的系统称为OLAP(联机分析处理)系统,数仓是OLAP的一种.
so 数据仓库为何而来–为了企业中分析数据的目的.
在这里插入图片描述

数仓体系图

在这里插入图片描述

特征

在这里插入图片描述
确定主题之后,数据通常分布在多个操作型系统中,彼此分散\独立\异构.进入数仓前需要经过统一和综合,对数据进行抽取转换和加载(ETL).这步是最关键的一步:要统一源数据所有矛盾之处,还要进行数据综合和计算.
数仓时变性表现在:

  • 数仓时限远长于操作型数据的数据时限;
  • 操作性系统存储当前数据,数仓存历史数据;
  • 数仓数据是按时间顺序追加,都带有时间属性.

OLTP VS OLAP

联机事务处理OLTP(On-Line Transaction Processi),典型是关系型数据库RDBMS.
联机分析处理OLAP(On-Line Analytical Processing),针对某些主题的历史数据进行复杂的多维分析,支持管理决策.典型是数据仓库DW,主要用于数据分析.
数据库与数据仓库的区别实际就是OLTP和OLAP的区别.
在这里插入图片描述

数据库 VS 数据仓库

在这里插入图片描述
总之,数仓是数据分析平台,是集成化的数据环境.

数据仓库 VS 数据集市

简而言之:数据集市是数据仓库的子集在这里插入图片描述
各种数据源经过ETL填充到数据仓库中;数仓有不同主题数据,数据集市根据不同部门特点面向指定主题,比如采购\销售\库存.用户基于主题数据开展数据分析\数据报表\数据挖掘等.

在这里插入图片描述

数仓分层架构

最基础的分层:操作性数据层ODS,数据仓库层DW,数据应用层DA.
:

阿里数仓三层结构如下图:在这里插入图片描述

ODS层

操作性数据层,存放为经过处理的原始数据,结构上与源系统一直,是数仓的数据准备区.主要完成基础数据引入数仓,和数据源系统解耦合,同时记录基础数据的历史变化.

DW层

主要完成数据加工和整合,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。
内部划分如下:
在这里插入图片描述

DA层

数据应用层,面向最终用,面向业务定制提供给产品和数据分析使用的数据
包括前端报表、分析图表、OLAP专题、数据挖掘等分析。

分层好处

在这里插入图片描述

ETL VS ELT

Extra,Transfer,Load
首先从数据源池提取数据,数据保存在临时暂存数据库中(ODS)。然后执行转换操作,将数据结构化并转换为适合目标数据仓库系统的形式。然后将结构化数据加载到仓库中。
在这里插入图片描述
使用ELT,数据在源数据池中提取后立即加载,没有专门的临时数据库(ODS),意味着数据立即加载到单一的集中存储库中。数据在数据仓库系统中进行转换,以便与商业智能工具(BI工具)一起使用。大数据时代数仓这个特点很明显

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43629813/article/details/129777310