数据仓库概述
今天我们来聊一下大数据里的一个概念,数据仓库,数据仓库的分层结构,ETL
-
什么是数据仓库
- 数据仓库的英文名称为Data Warehouse,可简写为DW或DWH。
- 数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。它出于分析性报告和决策支持的目的而创建。
- 数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因。
-
数据仓库的主要特征
- 数据仓库是面向主题的(Subject-Oriented)、集成的(Integrated)、非易失的(Non-Volatile)和时变的(Time-Variant )数据集合,用以支持管理决策。
-
数据仓库与数据库区别
- 什么是OLTP\OLAP?
- OLTP:联机事务处理 (On-Line Transaction Processing),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。
用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。 - OLAP:联机分析处理 OLAP(On-Line Analytical Processing),一般针对某些主题的历史数据进行分析,支持管理决策。
- OLTP:联机事务处理 (On-Line Transaction Processing),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。
- 数据仓库和数据库的区别有哪些?
- 首先要明白,数据仓库的出现,并不是要取代数据库。
- 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。
区别 数据库 数据仓库 设计模型 面向事务的设计 面向主题设计 设计目的 捕获数据而设计 分析数据而设计 设计规范 尽量避免冗余 有意引入冗余,依照分析需求,分析维度、分析指标进行设计 存储数据类型 一般存储业务数据 一般是历史数据 处理类型 OLTP OLAP
- 什么是OLTP\OLAP?
-
数据仓库分层架构
- 按照数据流入流出的过程,数据仓库架构可分为三层——源数据层、数据仓库层、数据应用层
- 源数据层(ODS):此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。
- 数据仓库层(DW):也称为细节层,DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。
- 数据应用层(DA或APP):前端应用直接读取的数据源;根据报表、专题分析需求而计算生成的数据。
- 按照数据流入流出的过程,数据仓库架构可分为三层——源数据层、数据仓库层、数据应用层
-
为什么要对数据仓库分层?
- 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;
- 不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。
- 通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,
把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,
当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。
-
什么是ETL?
- Extra 抽取, Transfer 转化, Load 装载 的过程,取三个大些首字母
- 数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为是ETL,ETL是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作的大部分精力就是保持ETL的正常和稳定。