数据仓库 OLAP

article/2025/9/30 18:48:50

一、数据库 vs. 数据仓库

1. 构建目的不同:数据库主要用于实现企业的日常业务管理,提高业务运营的效率

数据仓库用于将多个数据源的数据进行集成,用于分析,结果辅助决策

2. 管理数据不同:数据库通常只包含当前数据,避免冗余,数据的组织应按照业务过程设计的数据实现,由应用驱动

数据仓库中的数据按主题组织,以便分析;为方便查找存在大量冗余,通常存放历史数据

3. 管理方法不同:数据库需频繁进行增删改等更新操作。除了要通过创建事务和处理的正确性外,还需复杂的并发控制机制保证事务运行的隔离性。(更新操作时效性强,事务吞吐率很重要)

数据仓库很少更新,无需复杂并发控制机制,时效性不重要,数据质量重要

二、 数据仓库(Date Warehouse) vs. 数据集市(Data Market)

数据仓库是一个面向主题的、集成的、随时间变化的、稳定的用于支持组织决策的数据集合。

数据集市是部门级的数据仓库,包含数据量较少,是面向一个部门的分析需求建立的

三、数据仓库体系结构

1. 抽取:从不同数据源把所需数据读出来

                ① 逻辑抽取:a. 全量抽取 b. 增量抽取

                ② 物理抽取(依赖逻辑抽取):a. 联机抽取:直接从源系统抽取;b. 脱机抽取:从源系统以为的过渡区抽取

2. 转换:主要涉及数据清洗、集成、汇总等主要功能

                ① 数据清洗:缺失值填补、识别数据冗余、处理不一致数据、识别噪音数据

                ② 集成:需解决命名实体的识别,及从不同数据源抽取数据的组合

3. 加载:① 数据仓库建成之初,需将数据大批量一次性导入

               ② 数据仓库正常运作后,需将操作型系统数据定期更新到数据仓库

元数据:对数据仓库中数据的描述信息。主要包括数据源数据信息(格式、属性名、类型、长度等)、数据抽取与转换方面的信息(数据抽取频率、抽取方法、转换方法)、数仓中的数据信息(描述面向用户的数据的特性,如每个属性的别名、最后更新时间)

四、多维数据模型

1. 维度表:存放详细维度信息(通常属性很多,属性名不缩写,允许一定冗余)

    事实表 = 维度 + 度量(度量分为可加性、半可加性和不具有可加性)

    事实表分类:事务事实表、周期快照事实表(以有规律性的、可预见的时间间隔,年/月/日)、累计快照事实表(记录不确定的周期的数据)

2. 星座模型:一个事实表,若干维度表与事实表相连。

                      优:简单,易于理解,查询方便;缺:有些维度非规范化

3. 雪花模式: 一个维度对应多个表

4. 事实星座:不同事实表共享维度表

五、多维数据模型构建方法

1. 选择业务过程或主题(选择标准:a.亟待解决的问题,解决有助于提升业务质量;b.业务积累了一定数据,可作为数据仓库的数据来源)

2. 选择粒度(交易事实表 or 周期快照事实表 or 累计快照事实表)

3. 确定维度

4. 确定度量

六、数据仓库开发模式

1. 自顶向下:先构建企业数据仓库,根据各个业务过程的需求分析,将数据仓库中的数据调到数据集市中进行分析

                       优点:从企业整体出发,对数据进行有效集成,避免冗余,提供统一的数据访问

                       缺点:由于涉及范围广,所花时间、人力、财力较多,风险更高,短期难看到效果

2. 自底向上:根据各个业务需求分析,按紧迫程度先后建立数据集市,再将数据集市集成为数据仓库

                     优点:从单个业务出发,快速构建数据集市,很快看到效果,成功率高,花费少,风险低

                     缺点:没有纵观全局的考虑,易导致数据集市数据不一致、冗余

3. 折中:在前期需求分析时从企业整体出发,构建基于全局的数据仓库体系结构,统一定义数据格式、类型、语义。根据需求及业务对企业的重要程度,依次构建数据集市,通过几个数据集市的构建逐步涵盖企业整体范围内的数据,构成数据仓库

七、 数据仓库开发过程

1. 项目规划:了解总体需求,界定项目实施范围,评估必要性、可行性,撰写规划文档

2. 需求分析:确定分析主题、相关维度和度量,确定包含的数据及来源

3. 概念设计:用概念模型描述数据仓库包含的主题及其关系

                      信息包图:度量、维度、层次(每个维度属性间的层次关系,如年、月、日)

4. ETL设计:① 抽取:抽取接口、策略设计(抽取时机、周期、方式)增量抽取 or 完全抽取

                      ② 转换:转换方式和时机(抽取过程中转换 or 加载过程中转换)

                      ③ 加载:策略(直接追加 or 覆盖)

5. 逻辑和物理设计:① 逻辑模型——多维数据模型

                                 ② 物理模型:存储结构:RAID

                                                        索引技术:B+树索引、位图索引、广义索引

八、数据仓库分层

1. 分层的好处:

        ① 分层是一种空间换时间的操作:分层是对原始数据重新归纳整理,在不同层级对数据或指标做不同粒度的抽象。大大降低sql计算的耗时

        ② 分层有利于减少重复开发:分层把大部分常用的、通用的数据模型和指标进行抽象和汇总,可以满足大部分业务场景使用的数据表和指标。类似于API,下游使用方可以直接拿来使用,不仅减少重复开发还做到了数据和指标的统一

        ③ 复杂问题简单化:把通用数据和指标进行归类和预计算;把join和union这些复杂的操作拆解放在数仓的ETL中来处理。每层只处理单一问题

        ④ 数据安全:每层表的宽度和指标的粒度都不同,可以针对不同适用对象开放不同层级的数据.

        ⑤ 数据血缘追踪:如果有一张来源表出了问题,借助血缘能够快速准确定位到问题,并清除危害范围

2. 分层模型

        ① 数据操作层 ODS(Operation date store):数据仓库源头系统的数据表原封不同的存储一份,在同步过程中不做任何处理,保证与元数据一致。是后续加工数据的来源(业务数据、日志数据、第三方数据)

        ② 数据明细层 DWD(Data warehouse detail):与原表保持同一粒度的基础上根据业务对ODS数据进行去除脏数据,按照业务过程对表进行归类和关联,经过构建事实表。(不进行聚合,只是表变宽)

        ③ 数据服务层 DWS(Data Warehouse service):基于DWD数据整合汇总称分析某一个主题域的服务数据。通常把DWD中的事实表的key和DIM中的维度key关联,对事实表按照更高的维度进行上卷的聚合操作,得到在某一维度或多个维度上的汇总数据或指标(粒度发生变化)

        ④ 维度数据层 DIM(Dimention):与DWD平行,是对业务中常用维度的建模和抽象。这一层通常储存的是完整的维度key和维度名称,而事实表中通常存储的是维度key的字段

        ⑤ 应用数据层/数据服务层 ADS(Application data service):基于DWD/DWS层数据,或二者的计算,是面向具体应用的较高纬度的数据指标的聚合汇总

九、OLAP

        针对特定问题的在线数据访问和分析,通过对信息的多种可能的观察形式进行快速存取,允许管理决策人员对数据进行深入的、多方面的探查。

1.物化:将计算好的立方体数据存放于物理存储设备中,可以提高响应速度

        ① 不物化策略:用户提出请求后进行聚集运算,响应速度慢

        ② 完全物化:将所有可能的聚集运算都预先计算好并保存,用户请求时直接读取答案并发送

        ③ 部分物化:折中,选择一部分立方体预先计算和存储

2. 多维数据分析:切片、切块、上卷、下钻、旋转

数据仓库介绍与建模方法

数据仓库介绍与建模方法 - 知乎 (zhihu.com)

数仓分层 浅谈数仓建设中的分层 (baidu.com)


http://chatgpt.dhexx.cn/article/v9SF1GMy.shtml

相关文章

数据仓库基本知识

目录 1.数据仓库 1.1 数据仓库起源 1.1.1 联机事务处理系统(On-Line Transaction Processing,OLTP) 1.1.2 联机分析处理系统(On-Line Analytical Processing,OLAP) 1.1.3 建立DW的基本条件 1.2 数据仓…

数据仓库框架指导

目录 1, 数据仓库 DW 2, 数据库 vs 数据仓库 3,数据仓库历史 3.1,历史 4,维度建模 4.1,概念 4.2,建模模型 4.3,结构 4.4,事实表 4.5&#xff…

Oracle 数据仓库详解

文章目录 1 概述2 数据仓库2.1 数仓分层2.2 维度建模 1 概述 数据库 VS 数据仓库 数据库是面向事务设计的,属于 OLTP(在线事务处理)系统,主要操作是随机读写;在设计时尽量避免冗余,常采用范式规范来设计数…

数据仓库原理

1.简介 1.1诞生背景 历史数据积存:历史数据使用频率 低,堆积在业务科中,导致性能下降;企业数据分析需要:各个部门自己建立独立的数据抽取系统,导致数据不一致; 1.2基本概述(Data …

数据仓库入门介绍

🍊最近很多学弟学妹问我,我实习的工作是内容是什么?有没有一些可参考的学习路线?每次我都说是数仓开发,但是很多同学不太了解什么是数据仓库,于是我就写一篇博客,来介绍一下数据仓库&#xff0c…

大数据开发---数据仓库技术

1、什么是数据仓库 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提…

【简介】数据仓库技术实现

数据仓库建设方案有两种,一种是传统架构的数据仓库,一种是大数据架构的数据仓库。 传统数据仓库 传统数据仓库是由单机数据库发展而来的。业务数据库一般是关系型数据库(RDBMS),那数据仓库在建设初期,也会…

数据仓库需要的技术

数据仓库和技术 首先对于数仓我们应该知道,相比较于传统数据库来说,它需要的操作要相对简单一些,在数仓中没有联机更新数据的需要,只有一些非常少的锁定需要 然后了解一下数据仓库都有什么需求 1、管理大量的数据 对于数仓而言…

使用fprobe生成Netflow

可以在https://sourceforge.net/projects/fprobe/下载fprobe ubuntu deb下载地址 http://ftp.uni-bayreuth.de/debian/pool/main/f/fprobe/ centos rpm下载地址,可以使用以下地址搜索fprobe http://rpm.pbone.net/index.php3 fprobe的使用 假设eth2为流量镜像口&am…

Netflow、Netstream、sflow

理论性概念自行百度即可。 Netflow是cisco搞出来的,Netstream是HW搞出来的。不一定的点:netflow只能进行入方向的分析,Netstream可以进行出入方向的分析。Sflow是基于芯片的,降低了设备的CUP的压力。 NetFlow更多的是在路由器上得…

NetFlow网络流量分析

NetFlow是思科开发的协议。它用于记录有关穿越网络设备(如路由器,交换机或主机)的IP流量的元数据。启用NetFlow的设备会在接口级别生成元数据,并将此信息发送到流收集器,在流收集器中存储流记录以启用网络流量分析。网…

NetFlow学习总结

NetFlow学习总结 标签: netflow 由于工作需要,对NetFlow做了一些学习和调研,并总结成文档以供学习分享。 背景:随着系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击中所占比例逐渐减少,…

CentOS 7部署nfsen监控netflow

转载来源 :部署nfsen监控netflow : https://www.jianshu.com/p/011258907081 介绍 netflow和sflow可以帮助我们分析网络中的流量构成,抓取实施带宽使用情况,帮我们找出"hog"。作为collector的软件一般都是收费的&…

【NetFlow】NetFlow V9协议详细分析

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 摘自百度百科 Netflow技术最…

NETFLOW 与 SNMP两种不同的网络监控方法

SNMP(简单网络管理协议)和Netflow都是管理员常用的协议,因其能够提供网络可见性以及在某些情况下识别网络性能问题、网络瓶颈、系统资源分配问题等的原因而备受赞誉。在Netflow方面,像ManageEngine这样的第三方软件供应商可以极大…

NetFlow Analyzer无线网络管理

无线网络在机构中变得更加重要,因为它们越来越多地采用自带设备 (BYOD) 文化。机构环境中设备数量的增加使得保持最佳互联网性能变得困难。虽然有线网络监控很重要,但也有必要监控无线网络,因为它们更重要。 无论是处理安全问题还是网络性能…

网络协议之Netflow与sFlow协议

《NetFlow 与sFlow理解及比较》 (注:本文是个人对两种协议的理解,没有太多概念性的东西,适合对两种协议有一些基本了解的同学阅读。当然,本人知识有限,文章中的内容不保证没有知识错误,如若发现…

linux下netflow软件,NetFlow Analyzer下载

NetFlow Analyzer官方版是一款高效实用的网站流量监控软件,NetFlow Analyzer最新版功能强悍,为用户带来了强大的流量构成、协议分布和用户活动分析功能,NetFlow Analyzer软件支持多种Flow格式,可解析多达100K Flow/秒的大流量数据…

Netflow相关技术

数据包和数据流 数据包是网络中传输的数据单位,每个数据段经过网络层层封装成为-个可以在网络中流动的包, 从源头到达目的地之后,被目标设备层层解析出来,获得里面的数据。 数据流是一个有序的数据包系列,它需要用一定的顺序进行读取。可以认为,数据流是…

Netflow及其及配置案例

NetFlow 是Cisco发布的一款用于分析网络数据包信息的工具包; 根据不同的需要定制不同的方案; 典型的是对网络数据的源地址、目的地址的分析,对流量各种应用的分析或者路由器上各个端口的负载等; addr、dstaddr、port、dstport、pr…