数据仓库理论


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、数据仓库

1.1 什么是数据仓库

数据仓库(DataWarehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化的(Time Variant)数据集合,用于支持管理决策(Decision-Making Support)。

1.2数据仓库四大特征

(1)面向主题

主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象在
逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象
在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象面向主题的数据组织方式,就
是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻划各个分析对象所
涉及的企业的各项数据,以及数据之间的联系

(2)集成的

数据仓库中的数据是为分析服务的,而分析需要多种广泛的不同数据源以便进行比较、鉴别,数据仓
库中的数据会从多个数据源中获取,这些数据源包括多种类型数据库、文件系统以及Internet网
上数据等,它们通过数据集成而形成数据仓库中的数据。

(3)稳定的

数据仓库数据反映的是一段相当长的时间内历史数据的内容,是不同时点的数据库快照的集合,以及
基于这些快照进行统计、综合和重组的导出数据。

(4)反应历史变化的

数据仓库包含各种粒度的历史数据。数据仓库中的数据可能与某个特定日期、星期、月份、季度或者
年份有关。虽然数据仓库不会修改数据,但并不是说数据仓库的数据是永远不变的。数据仓库的数据
也需要更新,以适应决策的需要。
数据仓库的数据随时间的变化表现在以下几个方面:
数据仓库的数据时限一般要远远长于操作型数据的数据时限
业务系统存储的是当前数据,而数据仓库中的数据是历史数据
数据仓库中的数据是按照时间顺序追加的,都带有时间属性

1.3数据仓库作用

整合企业业务数据,建立统一的数据中心;
产生业务报表,了解企业的经营状况;
为企业运营、决策提供数据支持;
可以作为各个业务的数据源,形成业务数据互相反馈的良性循环;
分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果;
开发数据产品,直接或间接地为企业盈利;

1.4数据仓库与数据库的区别

数据库与数据仓库的区别实际讲的是 OLTP 与 OLAP 的区别。
OLTP(On-Line Transaction Processing 联机事务处理),也称面向交易的处理系统。主要针对具体业务在数据库系统的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。
OLAP(On-Line Analytical Processing 联机分析处理),一般针对某些主题的历史数据进行分析,支持管理决策。
数据仓库的出现,并不是要取代数据库:
数据仓库主要用于解决企业级的数据分析问题或者说管理和决策
数据仓库是为分析数据而设计,数据库是为捕获和存储数据而设计
数据仓库是面向分析,面向主题设计的,即信息是按主题进行组织的,属于分析型;
数据库是面向事务设计的,属于操作型数据仓库在设计是有意引入数据冗余(目的是为了提高查询的效率),采用反范式的方式来设计;数据库设计是尽量避免冗余(第三范式),一般采用符合范式的规则来设计数据仓库较大,数据仓库中的数据来源于多个异构的数据源,而且保留了企业的历史数据;数据库存储有限期限、单一领域的业务数据
在这里插入图片描述

1.5数据集市

数据仓库(DW)是一种反映主题的全局性数据组织。但全局性数据仓库往往太大,在实际应用中将它们按部门或业务分别建立反映各个子主题的局部性数据组织,即数据集市(Data Mart),有时也称它为部门数据仓库。

二.数据仓库建模方法

2.1 ER模型

1、实体
一般是参与到过程的中主体,客观存在的,比如商品

2、属性
对主体的描述,比如商品的名称、颜色、尺寸等

3、关系
实体与实体之间产生的联系,比如商品与仓库,商品入库时就会产生库存
4、应用场景
ER模型是数据库设计的理论基础,几乎应用于所有的OLTP系统建模中,此外,在数据仓库的底层ods、dwd也多采用ER关系模型。
釆用ER模型建设数据仓库模型的出发点是整合数据,将各个系统中的数据以整个企业角度按主题进行相似性组合和合并,并进行一致性处理,为数据分析决策服务,但是并不能直接用于分析决策。其建模步骤分为三个阶段:高层模型:一个高度抽象的模型,描述主要的主题以及主题间的关系,用于描述企业的业务总体概况中层模型:在高层模型的基础上,细化主题的数据项物理模型(也叫底层模型):在中层模型的基础上,考虑物理存储,同时基于性能和平台特点进行物理属性的设计,也可能做一些表的合并、分区的设计等。

2.2维度模型

在维度建模过程中,可以将数据仓库中的表划分为事实表和维度表两种类型

1、事实表
在ER模型中抽象出了实体、关系、属性三种类型,每个操作型事件都会产生一个事实表,其中涉及到多个实体,比如:购物下单事件中涉及的主体包括客户、商品、商家,产生可度量值包括商品数量、金额、件数等

2、维表
维度就是看待事物的角度,维表一般为单一主键,在ER模型中,实体会带有自己描述性的属性,这些属性就称为维度。比如:商品的产生、颜色、单价等。
3、模型
维度建模常用的类型有星型模型、雪花模型、星座模型。
(1)星型模型
由一个事实表和一组维表组成,且所有维表直接与事实表相连。其特点是不存在渐变维度,有一定数据冗余,效率相对较高。在维表设计方面通常采用降维的方式,通过数据冗余来简化模型,以提高模型易用性和分析效率,标准的星型模型只有一层维度
(2)雪花模型
由一个事实表和多个维表组成,且有一个或多个维表通过其他维表与事实表相连。其特点是数据冗余较少,但由于表连接的增加,导致效率相对较低。其设计通常遵循3NF关系模式,但是往往无法严格遵守,因为需付出的性能成本较高
(3)星座模型
通常基于多个事实表,且多个事实表之间共享一些维度表,往往应用于数据关系比星型模型和雪花模型更复杂的场合
4、星型与雪花模型的对比
(1)数据冗余
星型模型的维表设计不遵循3NF关系模式,维表之间不会直接相连,牺牲了部分存储空间;雪花模型符合业务逻辑设计,采用3NF关系模式,有效降低了数据冗余

(2)模型性能
星型模型违反3NF关系模式,采用降维的操作将维度整合,以存储空间为代价有效降低维度表的连接数数量,性能较雪花模型高;雪花模型由于存在维度间的关联,采用3NF关系模式降低冗余,通常在使用过程中,需要连接更多维表,导致性能偏低。
(3)ETL难度
星型模型在设计维度表时违反3NF关系模式,所以在ETL过程中整合业务数据维度表有一定的难度,但由于避免附属维度,可并行化处理;雪花模型符合业务ER模型设计原则,在ETL过程中相对简单,但是由于附属模型的限制,ETL任务并行化较低

维度模型是数据仓库领域的Ralph Kimball大师所倡导的,他的《数据仓库工具箱》是数据仓库工程领域最流行的数据仓库建模经典。维度建模从分析决策的需求出发构建模型,为分析需求服务,重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。其典型的代表是星型模型,以及在一些特殊场景下使用的雪花模型。其设计分为以下几个步骤:选择需要进行分析决策的业务过程。业务过程可以是:单个业务事件,比如交易的支付、退款等某个事件的状态,比如当前的账户余额等一系列相关业务事件组成的业务流程选择数据的粒度。在事件分析中,我们要预判所有分析需要细分的程度,从而决定选择的粒度识别维表。选择好粒度之后,就需要基于此粒度设计维表,包括维度属性,用于分析时进行分组和筛选选择事实。确定分析需要衡量的指标

三.数据仓库分层

数据仓库更多代表的是一种对数据的管理和使用的方式,它是一整套包括了数据建模、ETL(数据抽取、转换、加载)、作用调度等在内的完整的理论体系流程。数据仓库在构建过程中通常都需要进行分层处理。业务不同,分层的技术处理手段也不同。

3.1数据仓库分层原因

清晰的数据结构
每一个数据分层都有它的作用域,在使用表的时候能更方便地定位和理解。
将复杂的问题简单化
将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的问题,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的地方开始修复。
减少重复开发
规范数据分层,开发一些通用的中间层数据,能极大地减少重复计算
屏蔽原始数据的异常
屏蔽业务的影响,不必改一次业务就需要重新接入数据。
数据血缘的追踪
最终给业务呈现的是一个能直接使用业务表,但是它的来源很多,如果有一张来源表出问题了,借助血缘最终能够快速准确地定位到问题,并清楚它的危害范围。

3.2数仓的常见分层

在这里插入图片描述
**ODS(Operation Data Store 数据准备区)。**数据仓库源头系统的数据表通常会原封不动的存储一份,这称为ODS层,也称为准备区。它们是后续数据仓库层加工数据的来源。ODS层数据的主要来源包括:业务数据库。可使用DataX、Sqoop等工具来抽取,每天定时抽取一次;在实时应用中,可用Canal监听MySQL的 Binlog,实时接入变更的数据;埋点日志。线上系统会打入各种日志,这些日志一般以文件的形式保存,可以用 Flume 定时抽取;其他数据源。从第三方购买的数据、或是网络爬虫抓取的数据;
**DW(Data Warehouse 数据仓库层)。**包含DWD、DWS、DIM层,由ODS层数据加工而成。主要完成数据加工与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。DWD(Data Warehouse Detail 细节数据层),是业务层与数据仓库的隔离层。以业务过程作为建模驱动,基于每个具体的业务过程特点,构建细粒度的明细层事实表。可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当冗余,也即宽表化处理;DWS(Data Warehouse Service 服务数据层),基于DWD的基础数据,整合汇总成分析某一个主题域的服务数据。以分析的主题为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表;公共维度层(DIM):基于维度建模理念思想,建立一致性维度;TMP层:临时层,存放计算过程中临时产生的数据;
**ADS(Application Data Store 应用数据层)。**基于DW数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等

四.数据仓库模型

4.1事实表和维度表

事实数据表通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据。事实表的粒度决定了数据仓库中数据的详细程度。
维度表(维表)可以看作是用来分析数据的角度,纬度表中包含事实数据表中事实记录的特性。有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息。

4.2事实表分类

1、事务事实表
事务事实表记录的事务层面的事实,保存的是最原子的数据,也称“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务一条记录。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。
2、周期快照事实表
周期快照事实表以具有规律性的、可预见的时间间隔来记录事实,时间间隔如每天、每月、每年等等。典型的例子如销售日快照表、库存日快照表等。它统计的是间隔周期内的度量统计,如历史至今、自然年至今、季度至今等等。周期快照事实表的粒度是每个时间段一条记录,通常比事务事实表的粒度要粗,是在事务事实表之上建立的聚集表。周期快照事实表的维度个数比事务事实表要少,但是记录的事实要比事务事实表多。
3、累积快照事实表
累积快照事实表和周期快照事实表有些相似之处,它们存储的都是事务数据的快照信息。但是它们之间也有着不同,周期快照事实表记录的确定的周期的数据,而累积快照事实表记录的不确定的周期的数据。

4.3 星型模型

星型模是一种多维的数据关系,它由一个事实表和一组维表组成;事实表在中心,周围围绕地连接着维表;事实表中包含了大量数据,没有数据冗余;维表是逆规范化的,包含一定的数据冗余;

4.4 雪花模型

雪花模式是星型模型的变种,维表是规范化的,模型类似雪花的形状;特点:雪花型结构去除了数据冗余。

4.5 事实星座

数据仓库由多个主题构成,包含多个事实表,而维表是公共的,可以共享,这种模式可以看做星型模式的汇集,因而称作星系模式或者事实星座模式。特点:公用维表

五.元数据

元数据(Metadata)是关于数据的数据。元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程。元数据就相当于所有数据的地图,有了这张地图就能知道数据仓库中:
有哪些数据
数据的分布情况
数据类型数据之间有什么关系
哪些数据经常被使用,哪些数据很少有人光顾

在大数据平台中,元数据贯穿大数据平台数据流动的全过程,主要包括数据源元数据、数据加工处理过程元数据、数据主题库专题库元数据、服务层元数据、应用层元数据等。
在这里插入图片描述

5.1元数据类型

业内通常把元数据分为以下类型:
技术元数据:库表结构、数据模型、ETL程序、SQL程序等
业务元数据:业务指标、业务代码、业务术语等
管理元数据:数据所有者、数据质量、数据安全等

数据仓库理论学习与实践资料合集,共104份。 数据仓库工具箱(6份) 数据仓库基础培训课件(英文版)(14份) 数据仓库全套模板(命名+事实表+维度表+业务表+指标体系)(6份) 数据仓库设计建模(11份) 数据仓库原理、设计与应用课件(7章) 淘宝移动电信招商银行数据仓库实例(6份) Oracle数据仓库资料(7份) SQL_SERVER构建数据仓库(1份) 了解数据仓库及其应用 数据仓库建模技术 数据仓库介绍课件 数据仓库设计 数据仓库与OLAP 数据集市建设、数据质量及数据管理方法 OLAP及数据仓库讲解 EDW_(DM数据仓库数据建模)模型设计 关于bi工具选型的参考依据 商务智能技术在银行业务中基于数据仓库的研究与实现 数据仓库_历史与现在发展状况 数据仓库分析系统整体设计方案 数据仓库基本操作 数据仓库设计 数据仓库学习笔记 数据仓库总体设计报告 为什么要建立数据仓库 数据仓库建模与ETL实践技巧 ETL构建数据仓库五步法 标准的数据仓库建模应用之维度 对数据仓库进行数据建模 关键绩效指标:KPI的开发、实施和应用 基于多维数据库的MOLAP存储及查询技术研究 基于企业架构(EA)的企业信息化建设模型 将Excel资料汇入PowerDesigner 企业数据仓库大数据分析时代的角色变迁 商业智能研究分析报告 数据仓库_使用手册 数据仓库:业务维量周期 数据仓库 数据仓库(DW)初阶 数据仓库工具介绍文章汇总 数据仓库工具箱:维度建模的完全指南 数据仓库技术架构及方案 数据仓库建模教程 数据仓库生命周期工具箱 数据仓库实例 数据仓库数据架构设计 数据仓库维度建模设计原则及应用 数据仓库元数据管理 数据仓库中的粒度 数据仓库主题建模点滴 数据分析系统解决白皮书 数据库实施手册 主流数据仓库产品对比分析 OLAP解决方案:创建多维信息系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值