1.数据仓库
概念:
数据仓库是一个用于存储、分析、报告的数据系统
数据仓库的目的是构建面向分析的集成化数据环境,分析结果为企业提供决策
特点:
数据仓库本身并不“生产”任何数据,其数据来源与不同外部系统
同时数据仓库自身不需要“消费”任何数据,其结果开放给各个外部应用使用
1.1 数据仓库的主要特征
面向主题:数据仓库是面向主题的。主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。
集成性:数据通常分布在多个操作型系统中,彼此分散、独立、异构。因此需要经过统一与综合,对数据进行抽取、清理、转换和汇总。
非易失性:数据仓库的数据反应的是一段相当长的时间内历史数据的内容。数据仓库中一般有大量的查询操作,但修改和删除操作很少。
时变性:数据仓库的数据需要随着时间更新,以适应决策的需要。
2.OLTP、OLAP
概念
联机事务处理OLTP(On-Line Transaction Processing):传统的关系型数据库系统(RDBMS)
联机分析处理OLAP(On-Line Analytical Processing):数据仓库是OLAP系统的一个典型示例,主要用于数据分析
数据仓库和数据库的区别
- 数据仓库不是大型的数据库,虽然数据仓库存储数据规模大
- 数据仓库的出现,并不是要取代数据库
- 数据库是面向事务的设计,数据仓库是面向主题设计的
- 数据库一般存储业务数据,数据仓库存储的一般是历史数据
- 数据库是为捕获数据而设计,数据仓库是为分析数据而设计
数据仓库和数据集市的区别
- 数据仓库是面向整个集团组织的数据,数据集市是面向单个部门使用的
- 可以认为数据集市是数据仓库的子集,也有人把数据集市叫做小型数据仓库
3.数据仓库分层架构
按照数据流入流出对数仓的过程进行分层。
每个企业根据子集的业务需求可以分成不同的层次。但最基础的分层思想,理论上分为三层:操作型数据层(ODS)、数据仓库层(DW)和数据应用层(DA)
ODS层
操作型数据层,也称之为源数据层、数据引入层、数据暂存层、临时缓存层。
此层存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致
DW层
数据仓库层,由ODS层数据加工而成。主要完成数据加工与整合,建立一致性的数据维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。
内部具体划分如下:
公共维度层、公共汇总粒度事实层、明细粒度事实层
DA层(或ADS层)
数据应用层,面向最终用户,面向业务指定提供给产品和数据分析使用的数据。
数据仓库分层的好处
分层的主要原因是在管理数据的时候,能对数据有一个更加清晰的掌控,详细来说主要是以下几个原因:
清晰数据结构
数据血缘追踪
减少重复开发
把复杂问题简单化
屏蔽原始数据的异常
4.ETL、ELT
数据仓库从个数据源获取数据及在数据仓库内的数据转换和流动都可以认为是ETL(抽取Extra,转化Transfer,装载Load)的过程
但在实际操作中将数据加载到仓库却产生了两种不同的做法:ETL和ELT
ETL概念
首先从数据源池中提取数据,这些数据源通常是事务性数据库。数据保存在临时缓存数据库(ODS)。然后执行转换操作,将数据结构化转换为适合目标数据仓库系统的形式。然后将结构化数据加载到仓库中,以备分析。
ELT概念
使用ELT,数据在从源数据池中提取后立即加载。没有专门的临时数据库(ODS),这意味着数据会立即加载到单一的集中存储库中。数据在数据仓库系统中进行转换,以便与商业智能工具(BI工具)一起使用。大数据时代的数仓这个特点很明显。