数据仓库基础概念

数据仓库

概念

数据仓库(Data Warehouse, DW)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。它是为满足企业决策分析需求而设计的。

  • 面向主题:数据仓库围绕特定的主题组织数据,例如“销售”或“人力资源”,通过整合各类数据提供全面的视角。

  • 集成:数据仓库从多个异构数据源抽取数据,经过清理、转换和整合,消除数据冗余,保证数据一致性。

  • 相对稳定:一旦数据进入数据仓库,便很少修改,主要是为了历史数据分析和未来趋势预测。

  • 反映历史变化:数据仓库保存数据的历史状态,支持随时间维度的数据分析。

发展历程

数据仓库的发展经历了几个关键阶段:

  1. 萌芽阶段(1978-1988年):提出了将业务处理系统(OLTP)与业务分析系统(OLAP)分离的思想,早期的尝试集中在减少交易系统的负载以提高分析能力。

  2. 探索阶段(20世纪80年代中期):DEC公司建立了TA2规范,定义了分析系统由数据获取、访问目录和用户服务组成。这一时期,人们开始探索如何有效地存储和检索大量数据。

  3. 出行阶段(1988年):IBM提出信息仓库的概念,涵盖了数据的抽取、转换、有效性验证、加载、cube开发和图形化展示。这一阶段引入了更多视觉化工具来呈现数据分析的结果。

  4. 确立阶段(1991年):Bill Inmon出版了《数据仓库》一书,提出了数据仓库的奠基原则,包括面向主题、集成、包含历史、不可更新、面向决策支持、面向全企业、最明细数据存储和快照式数据获取。

  5. 合并阶段(1998年):Inmon提出的企业信息工厂(CF架构),结合范式建模和维度建模的优点,进行分层构建数据仓库,推动了数据仓库结构的进一步完善和标准化。

结构

数据仓库的结构通常分为以下几层:

  1. 数据引入层(ODS:Operational Data Store)
    这一层的数据结构与源系统保持一致,通常是增量或全量数据的临时存储区。ODS层的主要目的是保存原始数据,便于后续的数据核对和处理。

  1. 数据明细层(DWD:Data Warehouse Detail)
    在这一层,对ODS层的数据进行清洗、转换,以业务过程为核心构建最细粒度的明细事实表。基于具体业务的特点,DWD层的表通常会做一些适当的冗余处理,形成宽表以提高查询性能和数据的可用性。
  1. 汇总数据层(DWS:Data Warehouse Summary)
    此层基于明细层的数据进行初步汇总,构建汇总事实表。这些表通常是宽表形式,提供公共的统计指标,为上层数据分析提供基础。
  1. 公共维度层(DIM:Dimension)
    维度层包含所有数据分析所需的维度表,确保数据口径的一致性,方便多角度、多层次的数据分析。
  1. 应用数据服务层(ADS:Application Data Service)
    最高层面向具体应用场景,对汇总数据进行进一步加工,直接服务于前端BI工具或决策支持系统。

维度建模

概念

维度建模是由Ralph Kimball提出的一种专门用于数据仓库环境的建模方法。它采用反范式化设计,不严格遵循传统的数据库规范化标准,更加注重查询的性能和数据的易用性。

核心组件

维度建模的核心组件包括事实表和维度表:

  • 事实表(Fact Table)

    • 粒度:事实表中的每一条记录代表一个具体的业务事件,比如一笔销售记录或一次财务交易。粒度决定了这条记录所包含的业务细节的程度。

    • 度量:事实表中的数据元素通常是数值型的,如销售金额、数量、利润等。度量可以分为可加性、半可加性和不可加性。

    • 类型:事实表可分为事务事实表、周期快照事实表和累积快照事实表。事务事实表记录具体的业务事件,而快照事实表则定期捕获某一时刻的状态。

  • 维度表(Dimension Table)

    • 维度:维度是用于描述和分类事实的环境。例如,在销售数据中,“时间”、“地点”、“产品”和“客户”都是典型的维度。

    • 属性:每一个维度表由若干属性列组成,这些属性用于过滤、分组和标记数据。例如,产品维度表可能包含产品名称、类别、价格等属性。

    • 退化维度:有时候,维度表中的某些属性也会存入事实表中,这样的列被称为退化维度。

模型类型

维度建模常见的模型类型有星型模型、雪花模型和星座模型:

  • 星型模型(Star Schema)

    • 由一张中央事实表和若干外围维度表组成,结构清晰,查询简便,适合新手和中级数据仓库用户。
  • 雪花模型(Snowflake Schema)

    • 对星型模型进行扩展,将维度表进一步层次化,形成树枝状结构。这样可以减少表的宽度和冗余,但也增加了查询的复杂性。
  • 星座模型(Galaxy Schema)

    • 包含多张事实表,共享一组公共维度表。适用于复杂业务场景,每张事实表可以代表一个不同的业务过程。
应用

维度建模的目标是满足业务分析和决策的需求,使数据仓库的数据易于理解和查询。通过合理设计事实表和维度表,可以快速响应业务查询,提供高效的分析性能。例如,在电商行业中,维度建模可用于销售数据分析,通过构建“时间”、“地域”、“产品类别”和“顾客”等多个维度表,围绕“销售事实表”进行组织,可以轻松实现多角度、多层次的销售数据透视和分析。

总结

数据仓库和维度建模是现代企业数据分析不可或缺的部分。数据仓库通过整合、清洗和转换来自不同源系统的数据,为企业提供一致、可靠的历史数据,支持战略决策和未来趋势预测。维度建模作为一种反范式化的建模方法,通过设计合理的事实表和维度表,大大提高了数据查询和分析的效率,使数据仓库更能贴近业务需求,易于理解和使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学成在线实战

#1024程序员节|征文# 一、Bug修改 在实战之前,老师留了一个bug,这个bug出现的原因是因为在查询课程计划时,使用的是Inner join查询,所以当章节下面没有小节的时候,是查不出来数据的,只需要将其…

PHP企业门店订货通进销存系统小程序源码

订货通进销存系统,企业运营好帮手! 📦 开篇:告别繁琐,企业运营新选择 嘿,各位企业主和创业者们!今天我要给大家介绍一款超实用的企业运营神器——“订货通进销存系统”。在这个数字化时代&…

YOLOv5_DeepSORT实现电动自行车头盔佩戴检测系统

获取更多完整项目代码数据集,点此加入免费社区群 : 首页-置顶必看 文档说明 本文档是毕业设计——基于深度学习的电动自行车头盔佩戴检测系统的开发环境配置说明文档,该文档包括运行环境说明以及基本环境配置两大部分。在程序运行前请认真查…

零售行业的数字化营销转型之路

一方面,市场竞争激烈,电商平台、新兴品牌和跨界对手带来巨大压力。另一方面,消费者需求变化迅速,更加追求个性化、多元化和便捷化的购物体验,同时传统零售企业还面临着高成本压力,如租金、人力和库存等。 然…

Rsync数据复制/备份服务应用

文章目录 1. rsync概述1.1 什么是Rsync1.2 rsync的功能1.3 rsync 的功能特性1.4 Rsync 增量复制原理1.5 生产场景架构集群备份方案 2. Rsync工作方式介绍与实践2.1 本地数据传输模式2.1.1 本地数据传输模式语法2.1.2 本地数据传输模式实践 2.2 远程Shell 数据传输模式2.2.1 远程…

数据结构练习题5(链表和栈)

1环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测…

全面指南:中国人工智能大模型技术创新与应用

近期,中国人工智能协会发布了《中国人工智能大模型技术白皮书》,涵盖了大模型发展历程、关键技术、困难及挑战以及未来发展的展望。 在此本文总结了下白皮书的主要内容,并附上白皮书~ 目录第 1 章 大模型技术概述 ........................…

基础数据结构——队列(双端队列,优先级队列,阻塞队列)

双端队列、队列、栈对比 定义特点队列一端删除(头)另一端添加(尾)First In First Out栈一端删除和添加(顶)Last In First Out双端队列两端都可以删除、添加优先级队列优先级高者先出队延时队列根据延时时间…

微信小程序地图功能开发:绘制多边形和标记点

在微信小程序中,地图功能是一个常见的需求,尤其是在需要展示地理位置、导航指引或区域覆盖的应用中。本文将通过一个实际的微信小程序地图组件示例,介绍如何在地图上绘制多边形区域和标记点,以及如何响应用户的点击事件。 项目背景…

V2X介绍

文章目录 什么是V2XV2X的发展史早期的DSRC后起之秀C-V2XC-V2X 和DSRC 两者的对比 什么是V2X 所谓V2X,与流行的B2B、B2C如出一辙,意为vehicle to everything,即车对外界的信息交换。车联网通过整合全球定位系统(GPS)导…

实操 maxkey对接三方文档

实操 maxkey 对接三方文档 概述前置准备:MaxKey 安装与配置:第三方系统准备网络环境 对接三方配置oauth2协议对接导入jar包(调接口)权限加回调重定向获取token处理业务 api对接三方获取api凭证配置 MaxKey更新代码 概述 最近在搞m…

【华为HCIP实战课程十六】OSPF虚链路Vlink,网络工程师

一、vlink续 区域内部的路由优于区域之间的路由,区域之间优于外部路由,外部路由类型1优于外部类型2 只有同一级别的路由才会对比cost <R3>tracert 11.1.1.1 traceroute to 11.1.1.1(11.1.1.1), max hops: 30 ,packet length: 40,press CTRL_C to break 1 10.1.35.5 …

three融合GIS创建地球模型(二)

创建一个地球模型通常涉及到使用纹理贴图来给球体添加地球表面的图像。在 Three.js 中&#xff0c;你可以通过加载一张地球的图片作为纹理&#xff0c;并将其应用到一个 SphereGeometry 上来实现这一点。以下是如何完成这个过程的一个基本示例&#xff1a; 步骤 1: 设置场景、…

rust入门基础总结

文章目录 前言1、输出格式规范一、占位符相关&#xff08;一&#xff09;{}与{:?} 二、参数替换方式&#xff08;一&#xff09;位置参数&#xff08;二&#xff09;具名参数 三、格式化参数&#xff08;一&#xff09;宽度&#xff08;二&#xff09;对齐&#xff08;三&…

php生成PDF文件(FPDF)

FPDF即“Free PDF”&#xff0c;FPDF类库提供了基本的PDF创建功能&#xff0c;其源代码和使用权是免费的。 PDF格式文档优势 通用&#xff1a;PDF文档在UNIX和Windows系统均可正常使用。 安全&#xff1a;PDF文档可设置为只读模式&#xff0c;并且可以添加密码等保护措施。 美…

【JDK、Maven、Git、PostgreSQL】VSCode后端开发环境配置样例

文章目录 一、文件下载1 Maven早期版本下载安装1.1 文件下载1.2 设置系统变量1.3 查看是否设置成功1.4 设置MAVEN的本地仓库 和 镜像等内容 2 Git 下载安装3 下载并安装PostgreSQL 103.1 下载并安装3.2 配置系统环境变量 4 在VScode中下载扩展包5 在VSCode中为项目配置JDK 二、…

Maven 的使用:在 IDEA 中配置 Maven 的超详细步骤

一、概述 记录时间 [2024-10-20] Maven 用来管理 Java 项目中的依赖。 为什么要进行 Maven 配置呢&#xff1f;IDEA 默认选择内置的 Maven 仓库&#xff0c;但是不好用。 本文所讲述的 Maven 配置可以说是超详细的&#xff01; 从下载 Maven 这个东西开始&#xff0c;修改它…

sql-labs靶场第十七关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、寻找注入点 2、注入数据库 ①寻找注入方法 ②爆库&#xff0c;查看数据库名称 ③爆表&#xff0c;查看security库的所有表 ④爆列&#xff0c;查看users表的所有列 ⑤成功获取用户名…

基于微信小程序的智能校园社区服务推荐系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

华为eNSP:端口安全

一、什么是端口安全 端口安全是指保护计算机端口免受未经授权的访问、攻击或滥用的一种措施。计算机上的每个服务或应用程序都依靠特定的端口进行通信。端口安全的目的是限制对计算机端口的访问&#xff0c;确保只有经过授权的用户或服务可以使用这些端口。通过配置防火墙、访…