数据仓库基础

简介: 数据仓库基础

数据

@[toc]

数据仓库

概念

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

意义

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

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

  • 可以但是没必要,因为读的压力比写的压力大 通常事务处理的优先级⽐分析系统⾼,所以如果分析系统和事务 处理运⾏在同⼀硬件之上,分析系统往往性能很差。
  • 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;这里的大是处理的数据规模大;
不是说大型数据库
相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
9月前
|
存储 分布式计算 OLAP
数仓-湖仓-湖流,人力家基于阿里云OpenLake架构演进与思考
人力家资深数据工程师石玉阳(Thorne),Flink-CDC Contributor,分享其公司湖仓一体实践:以Paimon为数据基座、StarRocks为OLAP引擎、Flink+Fluss实现湖流融合,打通离线/实时/增量计算,支持多模态与DATA+AI演进,构建开放、统一、可持续的大数据架构。(239字)
645 2
|
11月前
|
安全 芯片 UED
两节串联锂电池充电管理芯片,普通,高压,快充输入选型介绍
两节串联锂电池充电管理芯片,普通,高压,快充输入选型介绍
|
6月前
|
人工智能 运维 架构师
我在 AIP 智能体平台踩过的坑,都在这篇企业 AI 落地经验里了
软件架构师罗小东分享企业AI落地实战经验:聚焦AIP智能体平台建设中的真实坑点与解法——涵盖智能体全生命周期管理、多源知识库语义检索、MCP工具集成及多模型中立架构设计,强调“解决问题”而非堆砌功能。(239字)
|
11月前
|
存储 Oracle 关系型数据库
大表在线改造为分区表并释放空间:全流程实战指南
本文介绍大表在线改造为分区表的无锁方案,通过双写迁移、分批同步实现MySQL、Oracle等数据库零停机优化,提升查询性能、释放存储空间,适用于日志表、历史数据表等场景。
|
6月前
|
SQL 关系型数据库 MySQL
【MySQL百日打怪升级第11天】 子查询的坑与优化方案:子查询 vs JOIN
本文是MySQL系列第11讲,深度剖析子查询常见陷阱与优化方案:详解关联/非关联子查询执行差异、MySQL 5.6+ Semi-Join优化机制、NOT IN的NULL致命陷阱、标量子查询性能爆炸原理,并对比IN/JOIN/EXISTS适用场景。干货满满,直击面试高频考点。(239字)
437 0
|
6月前
|
人工智能 UED C++
短视频能做GEO不?我拍了好多产品视频,咋让AI推荐呢?
短视频可做GEO,关键在“文案即内容”:AI主要识别字幕、标题、描述等文字信息。需优化语音解说+字幕+结构化脚本(问题→解答→总结),标题含用户问题,描述详尽200字以上,并做系列化内容矩阵。视频与图文互补,提升AI识别与用户体验。
|
8月前
|
设计模式 存储 人工智能
HagiCode Skill 系统技术解析:如何打造可扩展的 AI 技能管理平台
HagiCode Skill 系统技术解析:如何打造可扩展的 AI 技能管理平台 本文深入解析 HagiCode 项目中 Skill(技能)管理系统的架构设计与实现方案,涵盖本地全局管理、市场搜索、智能推荐、授信提供者管理四大核心功能...
403 3
|
8月前
|
人工智能 算法 vr&ar
轻量化AI视觉模型平台在AR眼镜上的部署实践
该平台专为G10 AR眼镜设计,以“轻量化训练+端侧深度适配”架构,降低视觉AI开发门槛。支持非专业开发者5步完成数据准备、训练、部署与优化,实现≤30秒下发、≤10ms单帧推理,兼顾显示适配与固件兼容性。(239字)
443 0
|
缓存 网络协议 物联网
UDP的可靠性传输
UDP的可靠性传输
786 1