数据仓库基础

数据仓库概念

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

在这里插入图片描述
数据驱动决策的制定:基于业务数据开展数据分析,基于分析的结果给决策提供支持

OLTP和OLAP

操作型处理,叫联机事务处理OLTP(On-Line Transaction Processing),主要目标是做数据处理,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的关系型数据库系统作为数据管理的主要手段,主要用于操作型处理。
分析型处理,叫联机分析处理OLAP(On-Line Analytical Processing),主要目标是做数据分析。一般针对某些主题的历史数据进行复杂的多维分析,支持管理决策。数据仓库是OLAP系统的一个典型示例,主要用于数据分析。
在这里插入图片描述

OLTP环境开展数据分析可行吗?

OLTP的核心是面向业务,支持业务和事务。所有的操作无非就读操作和写操作两种。一般来说读的压力明显大于写的压力,如果在OLTP的环境下开展数据分析,会造成如下问题:
1.数据分析也是读操作,会让读压力倍增
2.OLTP仅仅存储数周和数月的数据
3.数据分散在不同的系统和表中,字段属性不统一
结论:
OLTP环境下适合在业务低峰时期对规模较小的数据进行分析,但是为了更好的进行各种规模的数据分析,同时也不影响OLTP系统的运行,此时需要构建一个集成统一的数据分析平台。
该平台的目的:面向主题、支持分析和决策。并且和OLTP系统解耦,由此数据仓库诞生。
在这里插入图片描述

数据仓库的主要特征

面向主题性

数据库中最大的特点是面向应用进行数据的收集,组织,各个业务系统之间可能是分离的,而数据仓库是面向主题的。

主题:是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象,在逻辑意义上,它是对企业中某一宏观分析领域所涉及的分析对象。

操作型处理(传统数据)对数据的划分并不适用于决策分析。而基于主题组织的数据则不同,它们被划分为各自独立的领域,每个领域有各自的逻辑内涵但互不交叉,在抽象层次上对数据进行完整、一致和准确的描述。
在这里插入图片描述

集成性

确定主题后,就需要获取和主题相关的数据。数据存储在各个系统和表中,彼此分散、独立、异构。数据仓库此时要完成的工作有:

1.统一源数据中所有矛盾之处。如字段的同名异义、异名同义、单位不统一、字长不一致,等等。

2.进行数据综合和计算。数据仓库中的数据综合工作可以在从原有数据库抽取数据时生成,但许多是在数据仓库内部生成的,即进入数据仓库以后进行综合生成的。

非易失性

数据仓库是分析数据的平台,而不是创造数据的平台。数据仓库的数据反映的是一段相当长的时间内历史数据的内容,是不同时间的数据库快照的集合,以及基于这些快照进行统计、综合和重组的导出数据。
数据仓库中一般有大量的查询操作,修改和删除相对较少。

时变性

数据仓库的数据需要随着时间进行更新,以适应决策的需要。

数据库和数据仓库的区别

数据库和数据仓库的区别实际上就是OLTP和OLAP的区别。
OLTP一般就是指传统的关系型数据库,MySQL等
OLAP典型的应用就是数据仓库

在这里插入图片描述

1.数据仓库不是大型的数据库
2.数据仓库的出现,并不是要取代数据库
3.数据库是面向应用,支持事务和业务的,而数据仓库是面向主题的,面向分析,支持决策的。
4.数据库一般是存储业务数据,数据仓库一般是存储历史数据的
5.数据库是为了捕获数据而设计,而数据仓库是为了分析数据而设计

数据集市

数据仓库是面对整个集团组织的数据,数据集市是面向单个部门使用的。可以认为数据集市是数据仓库的主题,数据集市通常只涉及一个主题领域。
如:
1.数据源经过ETL(抽取转换加载)填充到数据仓库中
2.数据仓库中有不同主题数据,数据集市则根据部门特点面向指定主题。
3.用户可以基于主题数据开展各类应用:数据分析、数据报表、数据挖掘。

数据仓库分层思想和标准

数据仓库的特点就是本身不生产数据,也不消费最终数据。按照数据流入流出数仓的过程进行分层就显得水到渠成
数据分层每个企业根据自己的业务需求可以分成不同的层次,但是最基础的分层思想,理论上分为三个层:操作型数据层(ODS)、数据仓库层(DW)、数据应用层(DA)
企业在实际运用中可以基于这个基础分层之上添加新的层次,来满足不同的业务需求。
在这里插入图片描述

为什么要分层

分层的主要原因是在管理数据的时候,能够对数据有一个更加清晰的掌控,主要有以下几个原因:

1.清晰数据结构
每一个数据分层都有它的作用域,在使用表的时候能够更方便的定位和理解。

2.数据血缘追踪
数据出问题的时候,能够快速准确的定位到问题,并且清楚它的危害范围。

3.减少重复开发
规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。

4.把复杂问题简单化
把一个复杂任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解,以便于后期维护

5.屏蔽原始数据的异常
屏蔽业务的影响,业务修改的时候,不需要重新接入数据

阿里巴巴数仓3层架构

在这里插入图片描述

ODS层(Operation Data Store)

直译:操作型数据层。也称之为源数据层、数据引入层、数据暂存层、临时缓存层。此层存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致,是数据仓库的数据准备区。主要完成基础数据引入到数仓的职责,和数据源系统进行解耦合,同时记录基础数据的历史变化。

DW层(Data Warehouse)

数据仓库层。内部具体包括DIM维度表、DWD和DWS,由ODS层数据加工而成。主要完成数据加工与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。
公共维度层(DIM):基于维度建模理念思想,建立整个企业一致性维度。
公共汇总粒度事实层(DWS、DWB):以分析的主题对象作为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段物理化模型
明细粒度事实层(DWD): 将明细事实表的某些重要维度属性字段做适当冗余,即宽表化处理。

数据应用层(DA或ADS)

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

ETL和ELT

ETL(抽取转换加载):
首先从数据源中提取数据,这些数据一般是事务性数据库。数据保存在临时数据库中。然后执行转换操作,将数据结构化并且转换为适合目标数据仓库系统的形式。然后将结构化数据加载到仓库中,以备分析。
在这里插入图片描述

ELT(抽取加载转换):
使用ELT,数据从数据源中提取后立即加载,没有临时数据库,这意味着数据会立即加载到单一的集中存储库中。数据在数据仓库中进行转换,以便与商业智能工具和分析一起使用。大数据时代的数仓这个特点很明显。在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值