当前位置:   article > 正文

大数据学习---数据仓库概述1

数据仓库概述

数据仓库

1.数据仓库概念

数据仓库( Data Warehouse ),是为企业制定决策,提供数据支持的。可以帮助企业,改进业务流程、提高产品质量等。

数据仓库的输入数据通常包括:业务数据用户行为数据爬虫数据

业务数据:
就是各行业在处理事务过程中产生的数据。比如用户在电商网站中登录、下单、支付等过程中,需要和网站后台数据库进行增删改查交互,产生的数据就是业务数据。业务数据通常存储在MySQL、Oracle等数据库中。

用户行为数据:
用户在使用产品过程中,通过埋点收集与客户端产品交互过程中产生的数据,并发往日志服务器进行保存。比如页面浏览、点击、停留、评论、点赞、收藏等。用户行为数据通常存储在日志文件中。

爬虫数据:
通常事通过技术手段获取其他公司网站的数据。

2.数据仓库特点

面向主题:为数据分析提供服务,根据主题将原始数据集合在一起。
集成:原始数据来源于不同数据源,要整合成最终数据,需要经过抽取、清洗、转换的过程。
非易失:保存的数据是一系列历史快照,不允许被修改,只允许通过工具进行查询、分析。
时变性:数仓会定期接受、集成新的数据,从而反映出数据的最新变化。

3.数据仓库VS数据库

数据库面向事务设计,属于OLTP(在线事务处理)系统,主要操作是随机读写;在设计时尽量避免冗余,常采用符合范式规范来设计。
数据仓库是面向主题设计的,属于OLAP(在线分析处理)系统,主要操作是批量读写;关注数据整合,以及分析、处理性能;会有意引入冗余,采用反范式方式设计。

在这里插入图片描述

4.技术实现

数据仓库建设方案:
传统数据仓库
大数据数据仓库

4.1 传统数据仓库

由关系型数据库组成MPP(大规模并行处理)集群
在这里插入图片描述
缺点:扩展性有限(单机架构)、热点问题
常见的传统数据库:
Oracle RAC、DB2、Teradata、Greenplum

4.2大数据数据仓库

利用大数据天然的扩展性,完成海量数据的存放
将SQL转换为大数据计算引擎任务,完成数据分析
在这里插入图片描述
常见的大数据数据仓库
Hive、Spark SQL、HBase、Impala、HAWQ、TIDB

5.数据仓库架构设计

在这里插入图片描述

5.1 ETL---- Extract、Transform、Load

将数据从来源端进行抽取交互转换加载至目的端的过程
构建数据仓库的重要一环,用户从数据源中抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,讲数据加载大数据仓库中去
ETL规则的设计和实施约占整个数据仓库搭建工作量的60%——80%

数据抽取
抽取的数据源可以分为结构化数据,非结构化数据,半结构化数据
结构化数据一般采用JDBC(对数据库进行直连,会加重数据库的负载,会影响业务的运行,一般选在数据量产生较小的时间段)、数据库日志方式
非/半结构化数据会监听文件变动(半结构化比如像xml、json文件;非结构化文件像图像、音频)

抽取方式
数据抽取方式有全量同步、增量同步两种方式
全量同步会将全部数据进行抽取,一般用于初始化数据装置
增量同步方式会检测数据的变动,抽取发生变动的数据,一般用于数据更新

数据转换
数据转换要经历数据清洗和转换两个阶段
——数据清洗主要是对出现的重复、二义性、不完整、违反业务或逻辑规则等问题的数据进行统一处理
——数据转换主要是对数据进行标准化处理,进行字段、数据类型、数据定义的转换
结构化数据在转换过程中的逻辑较为简单,非/半结构化数据的转换会较为复杂

数据加载
将处理完成的数据导入到对应的目标源里
在这里插入图片描述

5.2 ODS(操作数据源层)

数据与原业务数据保持一致,可以增加字段用来进行数据管理
存储的历史数据是只读的,提供业务系统查询使用
业务系统对历史数据完成修改后,将update_type字段更新为UPDATE,追加回ODS中
在这里插入图片描述
在离线数仓中,业务数据定期通过ETL流程导入到ODS中,导入方式有全量、增量两种:
全量导入:数据第一次导入时,选择此种方式
增量导入:数据非第一次导入,每次只需要导入新增、更改的数据,建议使用外连接&全覆盖方式

5.3 CDM(公共维度层):

DWD(数据明细层)和DWS(数据汇总层)组成,完成数据分析功能。

5.3.1DWD(数据明细层)

数据明细层对ODS层的数据进行清洗、标准化、维度退化(时间、分类、地域)
数据仍满足3NF模型,为分析运算做准备

5.3.2DWS(数据汇总层)

数据汇总层的数据对数据明细层的数据,按照分析主题进行计算汇总,存放便于分析的宽表
存储模型并非3NF,而是注重数据聚合,复杂查询、处理性能更优的数仓模型,如维度模型
在这里插入图片描述

5.4 ADS(数据应用层)

数据应用层也被称为数据集市
存储数据分析结果,为不用业务场景提供接口,减轻数据仓库的负担
数据仓库擅长数据分析,直接开发业务查询接口,会加重其负担
在这里插入图片描述

6 建模方法

基本概念

6.1 OLTP系统建模方法

OLTP(在线事务处理)系统中,主要操作是随机读写
为了保证数据一致性、减少冗余,常使用关系模型
在关系模型中,使用三范式规则来减少冗余

OLAP(在线联机分析)

OLAP系统,主要操作是复杂分析查询;关注数据整合,以及分析、处理性能
OLAP根据数据存储的方式不同,又分为ROLAP、MOLAP、HOLAP

OLAP系统分类
ROLAP(Relation OLAP,关系型OLAP):使用关系模型构建,存储系统一般为RDBMS
MOLAP(Mutlidimensional OLAP,多维型OLAP):预先聚合计算,使用多维数组的形式保存数据结果,加快查询分析时间
HOLAP(Hybrid OLAP,混合架构的OLAP):ROLAP和MOLAP两者的集成;如低层是关系型的,高层是多维矩阵型的;查询效率高于ROLAP,低于MOLAP。

ROLAP系统建模方法

典型的数据仓库建模方法有ER模型、维度模型、Data Value、Anchor

ER模型:
1.出发点是为了整合数据,为数据分析决策服务
2.需要全面了解业务和数据
3.实施周期长
4.对建模能力要求高

维度模型:
1.为分析需求服务,更快完成需求分析
2.具有较好大规模复杂查询相应性能
3.最流行的数仓建模经典

Data Value:
1.ER模型的衍生
2.强调数据的历史性、可追溯、原子性
3.弱化一致性处理和整合
4.引入范式、应对源系统的扩展性

Anchor:
1.Data Value模型的衍生
2.初衷为设计一个高度可扩展模型
3.会带来较多的join操作

MOLAP系统建模方法

MOLAP将数据进行预结算,并将聚合结果存储到CUBE模型中
CUBE模型以多维数组的形式,物化到存储系统中,加快后续的查询
生成CUBE需要大量的时间、空间,维度与处理可能会导致数据膨胀
在这里插入图片描述
常见的MOPLAP产品:Kylin、Druid

OLAP多维分析

OLAP主要操作时复杂查询,可以多表关联,使用COUNT、SUM、AVG等聚合函数
OLAP对复杂查询操作做了直观的定义,包括钻取、切片、切块、旋转

钻取
对维度不同层次的分析,通过改变维度的层次来变换分析的粒度
钻取包括上卷(Roll-up)、下钻(Drill-down)
上卷,也称向上钻取,指从低层次到高层次的切换
下钻,指从高层次到低层次的切换
在这里插入图片描述

切片、切块
选择某个维度进行分割称为切片
按照多维进行的切片称为切块
切片

旋转
对维度方向的互换,类似于交换坐标轴上卷

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/581619
推荐阅读
相关标签
  

闽ICP备14008679号