数据仓库入门教程

简介: 数据仓库入门教程
1、数仓基础


(1)什么是数仓。

通俗的说,就是存放着大量数据的地方,它英文名称为Data Warehouse,可简写为DW。数仓最常见的组件是hive,clickhouse。

(2)用来做什么

大量的数据放在一起,有利于中寻找有用的信息,主要是用来做三方面的事情:

  • 了解现状:掌握占比、同比、环比等重要指标
  • 辅助决策:这里举个例子,上世纪90年代,沃尔玛引入算法后发现尿布与啤酒的关联度极高,市场调研发现是太太们叮嘱丈夫下班后为小孩买尿布,顺手就会带上啤酒
  • 预测走势:通过数据的分析,判断业务未来的变化

(3)为什么用数仓做而不是关系型数据库

如果没有数仓,报表、分析系统的数据可能就需要从OLTP的库中来,这样做有以下缺点:

  • 性能问题,OLAP业务往往会涉及到大量的数据,这会影响OLTP应用sql的性能
  • 数据格式的不统一,例如金额单位,时间单位
  • 业务系统变更频繁,数据库字段变更速度较快
  • 安全问题
  • 误用业务数据

(4)数仓的特征

  • 集成(核心特征)通常OLTP应用的数据都是比较分散的,数仓则会把这些数据集中到一起,有两个目的,一是要统一所有的数据的矛盾之处,二是要进行数据综合和计算
  • 面向主题(核心特征)网上乱七八糟概念太多,用人话解释,就是看问题的维度
  • 非易失性 一是指数据一般会被保留很久时间,二是指通常都是查看操作,很少有删除和修改这类操作
  • 时变性 指数据是按照时间顺序追加的,它们都带有时间属性

(5)数仓和数据库的区别


本质上还是OLAP和OLTP的区别。


OLTP:On-Line Transaction Processing,面向事务的处理系统,指系统的关注点主要集中在:响应时间、数据的安全性、完整性和并发支持的用户数等问题,主要使用传统的数据库系统作为数据管理的主要手段,主要用于操作型处理,像Mysql,Oracle等关系型数据库一般属于OLTP。

OLAP:On-Line Analytical Processing,面向分析的处理系统,一般针对某些主题的历史数据进行分析,支持管理决策。


冗余设计 针对数据的主要操作 数据规模 延迟 事务
数仓 刻意冗余 分析 不支持
数据库 避免冗余 捕获 支持


2、数仓架构


1686815947369.png


  • ODS(数据源层Operational Data Store)ODS 层,是最接近数据源中数据的一层,为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可,至于数据的去噪、去重、异常值处理等过程可以放在后面的 DWD 层来做
  • DW(数据仓库层Data Warehouse)
    1)DWD (数据明细层Data WareHouse Detail)
    一般保持和 ODS 层一样的数据粒度,并且提供一定的数据质量保证。DWD 层要做的就是将数据清理、整合、规范化、脏数据、垃圾数据、规范不一致的、状态定义不一致的、命名不规范的数据都会被处理同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联
    另外,在该层也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性。
    其实上面的话,总结成一句人话,就是对此层会对数据做一个初步的处理,包括清洗,整理以及聚合之类的操作。
    2)DWM(数据中间层Data WareHouse Middle)
    基于 DWD 层上的基础数据,整合汇总成分析某一个主题域的服务数据,一般是宽表。DWS 层应覆盖 80% 的应用场景。又称数据集市或宽表。
    按照业务划分,如主题域流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP 分析,数据分发等。
    3)APP(数据应用层)
    这时候已经是可以提供给业务直接使用的数据层了。

3、数仓建模方法

(1)范式建模:同关系型数据库三大范式,分别是:


每个属性值唯一,不具有多义性 ;
每个非主属性必须完全依赖于整个主键,而非主键的一部分 ;
每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去


(2)维度建模(最常用的方法):分为两种表:事实表和维度表,维度建模就是在这两种表的基础之上来构建数据集市的。

维度表:指根据分析数据的角度,来创建的表,所谓维度,即指分析事物的角度,这个思想是重中之重,常见的角度有时间、地 域、终端、用户等。

事实表:必然存在的一些数据,像采集的日志文件,订单表,都可以作为事实表 。 特征:是一堆主键的集合,每个主键对应维度表中的一条记录,客观存在的,根据主题确定出需要使用的数据。 用人话讲,事实表,就是包含着ODS层,DWS,DWD层的表,可以说,除过维度表,在维度建模中,其他所有表,几乎都是事实表。


1686815938450.png

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
12月前
|
存储 数据可视化 数据挖掘
终于有人把数据仓库讲明白了!
在企业数据分析中,数据仓库作为核心枢纽,通过整合财务、销售、生产等多系统数据,解决指标不一致、历史数据缺失等问题。它具备面向主题、集成、历史、时变和稳定五大特性,区别于传统数据库,专为复杂分析和决策支持设计,助力企业实现数据驱动。
终于有人把数据仓库讲明白了!
|
12月前
|
数据采集 存储 安全
一文带你讲透数据仓库分层!
在数据处理中,常遇到数据混乱、指标不一致、开发排期长等问题,根源往往在于数据分层设计不合理。本文详解数据仓库分层(ODS、DWD、DWS、DM、APP等),阐述其在数据清洗、整合、管理及应用中的关键作用,帮助提升数据质量、减少重复开发、增强系统扩展性,从而高效支撑业务决策。
一文带你讲透数据仓库分层!
|
存储 前端开发 关系型数据库
终于有人把数据仓库讲明白了
数据仓库不是大号数据库,更不是BI附属品。它通过整合多源数据、统一标准,让数据更易查、易用,真正服务于业务分析与决策。本文带你厘清数据仓库的本质、架构与搭建步骤,避开常见误区,实现数据价值最大化。
终于有人把数据仓库讲明白了
|
Prometheus Kubernetes 监控
Kubernetes(k8s)高可用性集群的构建详细步骤
构建高可用Kubernetes集群涉及到的层面非常广泛,包括硬件资源的配置、网络配置以及集群维护策略的规划。因此,在实际操作中,可能还需要根据特定环境和业务需求进行调整和优化。
2754 19
|
安全 关系型数据库 数据库
数据仓库是什么,一文读懂数据仓库设计步骤
数据仓库是企业整合、存储和分析历史数据的核心工具,支持决策与趋势预测。设计需经历明确业务需求、梳理数据源、概念建模、逻辑设计、物理实现及测试维护等步骤。通过合理规划结构、安全机制与数据集成(如使用FineDataLink),可有效提升数据质量与分析效率,助力企业发挥数据价值。
|
存储 人工智能 数据管理
|
存储 数据采集 大数据
Flink实时湖仓,为汽车行业数字化加速!
本文由阿里云计算平台产品专家李鲁兵(云觉)分享,聚焦汽车行业大数据应用。内容涵盖市场趋势、典型大数据架构、产品市场地位及能力解读,以及典型客户案例。文章详细介绍了新能源汽车市场的快速增长、大数据架构分析、实时湖仓方案的优势,以及Flink和Paimon在车联网中的应用案例。
1159 8
Flink实时湖仓,为汽车行业数字化加速!
|
安全 Windows
怎么关闭Windows安全中心?
Windows安全中心是Windows的防护组件,负责抵挡病毒和威胁。关闭它可能增加安全风险,但若必须,可遵循以下方法:通过设置->更新和安全->病毒和威胁防护管理设置关闭实时保护;使用组策略编辑器禁用“隐藏病毒和威胁防护区域”;或在注册表编辑器中创建DisableAntiSpyware DWORD并设值为1。关闭前务必安装其他安全软件并保持系统更新。
怎么关闭Windows安全中心?
|
Linux 数据库
ntp如何配置同步服务器
【5月更文挑战第19天】ntp如何配置同步服务器
2823 2