数据仓库基础

简介: 数据仓库基础

数据

@[toc]

数据仓库

概念

数据仓库,英文名称为Data Warehouse,可简写为DWDWH。用于数据存储,数据分析和数据决策的系统。 【重点是分析数据,为了企业提供决策支持 Decision Support

意义

为什么会出现它,过去的关系数据库不能用于数据分析吗?

像一些OLTP (On-Line Transaction Processing)联机事务处理系统 :MySQLOracle……是否可以进行查询分析吗?

  • 可以但是没必要,因为读的压力比写的压力大 通常事务处理的优先级⽐分析系统⾼,所以如果分析系统和事务 处理运⾏在同⼀硬件之上,分析系统往往性能很差。
  • OLTP 存储的时间短,只有月、周
  • 数据格式,字段不统一;例如不同的RDBMS 关系数据库管理系统(Relational Database Management System:RDBMS
  • 某些业务数据由于安全或其他因素不能直接访问。

所以,衍生出OLAP 联机分析处理 Online Analytical Processing

特点

数据仓库描述是⼀个⾯向主题的、集成的、随时间变化的、⾮易失的数据集合,⽤于⽀持管理者的决策过程。

  • 面向主题:数据仓库中的数据是按照一定的主题域进行组织的,每一个主题对应一个宏观的分析领域。数据仓库排除对于决策无用的数据,提供特定主题的简明视图。
  • 集成的:企业内不同业务部门数据的完整集成。 对于企业内所有数据的集成要注意一致性(假设财务系统中对于性别使用 F/M,而 OA 系统对性别使用 A/B,这就是数据不一致,如果想搭建企业级的数据仓库,需要数据具有一 致性)。
  • 随时间变化的:数仓里会完整的记录某个对象在一段时期内的变化情况。
  • 非易失:⼀旦进⼊到数据仓库中,数据就不应该再有改变。

分层

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

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

美团的数据仓库架构

  • ODS(Operation Data Store): 原始数据层,未经任何加工处理的原始业务层数据, 操作型数据层 ,也称之为源数据层、数据引入层、数据暂存层、临时缓存层。常见的ODS数据有业务日志数据(Log)和业务DB数据(DB)。主要完成基础数据引入到数仓的职责,和数据源系统进行解耦合,同时记录基础数据的历史变化。
  • DWD(Data Warehouse Detail): 数据明细层,对数据进行规范化,将明细事实表的某些重要维度属性字段做适当冗余,即宽表化处理。
  • DWS(Data Warehouse Service):数据服务层。对数据进行轻度汇总 以分析的主题对象作为建模驱动,基于.上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段物理化模型.
  • ADS(Application Data Store): 数据应用层,为各种数据提供报表服务。数据应用层,面向最终用户,面向业务定制提供给产品和数据分析使用的数据。包括前端报表、分析图表、KPI、 仪表盘、OLAP专题、 数据挖掘等分析。
  • DM(data Mart): 数据集市,狭义ADS层。

https://tech.meituan.com/2018/10/18/meishi-data-flink.html

该方案由以下四层构成:

  • ODS 层:Binlog 和流量日志以及各业务实时队列。
  • 数据明细层:业务领域整合提取事实数据,离线全量和实时变化数据构建实时维度数据。
  • 数据汇总层:使用宽表模型对明细数据补充维度数据,对共性指标进行汇总。
  • App 层:为了具体需求而构建的应用层,通过 RPC 框架对外提供服务。RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务

举个例子

ETL、ELT

  • 数据仓库从各数据源获取数据及 在数据仓库内的数据转换和流动都可以认为是ETL (抽取Extra,转化Transfer, 装载Load )的过程。
  • 但是在实际操作中将数据加载到仓库却产生 了两种不同做法: ETL和ELT。

ETL
ELT

OLTP 和 OLAP

  • OLTP是Online Transaction Processing的简称;联机事务处理

也就是我们常见的关心型数据库,MySQL

  • OLAP是OnLine Analytical Processing的简称;联机分析处理

也就是我们的数据仓库,数据仓库也分为离线和实时数据仓库
OLTP 和 OLAP

区别 OLTP OLAP
数据源 当前的运行的业务 多个数据来源
目的 面向应用,面向业务
捕获数据
面向主题,面向分析
分析数据
焦点 当下 历史过去。当时目前的实时仓库也支持当下分析
任务 读和写 读多写少。
响应时间 毫秒 小时 分钟 秒 天等
数据量 小 MB,GB 大 TB,PB;这里的大是处理的数据规模大;
不是说大型数据库
相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
6月前
|
存储 安全 网络安全
数据仓库的五个优秀实践
数据仓库的五个优秀实践
|
1月前
|
存储 关系型数据库 MySQL
数据仓库设计
数据仓库设计
53 3
|
7月前
|
分布式计算 运维 Hadoop
数据仓库搭建
数据仓库搭建
133 0
|
8月前
|
监控 大数据 领域建模
如何搭建一个数据仓库
如何搭建一个数据仓库
|
9月前
|
数据库
|
9月前
|
关系型数据库 MySQL 开发工具
|
9月前
|
SQL 数据库 HIVE
数据仓库实战 3(一)
数据仓库实战 3(一)
|
9月前
|
消息中间件 数据采集 JSON
数据仓库实战 2
数据仓库实战 2
106 0
|
9月前
数据仓库实战 3(二)
数据仓库实战 3(二)
|
9月前
|
SQL 数据采集 存储
数据仓库实战 1
数据仓库实战 1
160 0