一文说清什么是数据仓库

01 数据仓库的概念

数据仓库的概念可以追溯到20世纪80年代,当时IBM的研究人员开发出了“商业数据仓库”。本质上,数据仓库试图提供一种从操作型系统到决策支持环境的数据流架构模型。

目前对数据仓库(Data Warehouse)的标准定义,业界普遍比较认可的是由数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出:数据仓库是一个面向主题的、集成的、相对稳定的(非易失的)、反映历史变化的数据集合,通常用于支持企业管理决策。这个定义有些复杂并且难以理解。下面我们将它分解开来进行说明。

  • 面向主题

传统的操作型系统是围绕组织的功能性应用进行组织的,而数据仓库是面向主题的。主题是一个抽象概念,简单地说就是与业务相关的数据的类别,每一个主题基本对应一个宏观的分析领域。数据仓库被设计成辅助人们分析数据。例如,一个公司要分析销售数据,就可以建立一个专注于销售的数据仓库,使用这个数据仓库,就可以回答类似于“去年谁是我们这款产品的最佳用户”这样的问题。这个场景下的销售,就是一个数据主题,而这种通过划分主题定义数据仓库的能力,就使得数据仓库是面向主题的。主题域是对某个主题进行分析后确定的主题的边界,如客户、销售、产品都是主题域的例子。

  • 集成

集成的概念与面向主题是密切相关的。还用销售的例子,假设公司有多条产品线和多种产品销售渠道,而每个产品线都有自己独立的销售数据库。此时要想从公司层面整体分析销售数据,必须将多个分散的数据源统一成一致的、无歧义的数据格式后,再放置到数据仓库中。因此数据仓库必须能够解决诸如数据分散存储、产品命名冲突、计量单位不一致等问题。当完成了这些数据整合工作后,该数据仓库就可称为是集成的。

  • 随时间变化

为了发现业务变化的趋势、存在的问题,或者新的机会,需要分析大量的历史数据。这与联机事务处理(OLTP)系统形成鲜明的对比。联机事务处理反映的是当前时间点的数据情况,要求高性能、高并发和极短的响应时间,出于这样的需求考虑,联机事务处理系统中一般都将数据依照活跃程度分级,把历史数据迁移到归档数据库中。而数据仓库关注的是数据随时间变化的情况,并且能反映在过去某个时间点的数据是怎样的。换句话说,数据仓库中的数据是反映了某一历史时间点的数据快照,这也就是术语“随时间变化”的含义。当然,任何一个存储结构都不可能无限扩展,数据也不可能只入不出地永久驻留在数据仓库中,它在数据仓库中也有自己的生命周期。到了一定时候,数据会从数据仓库中移除。移除的方式可能是将细节数据汇总后删除、将老的数据转储到大容量介质后删除和直接物理删除等。

  • 非易失

非易失指的是,一旦进入到数据仓库中,数据就不应该再有改变。操作型环境中的数据一般都会频繁更新,而在数据仓库环境中一般并不进行数据更新。当改变的操作型数据进入数据仓库时会产生新的记录,这样就保留了数据变化的历史轨迹。也就是说,数据仓库中的数据基本是静态的。这是一个不难理解的逻辑概念。数据仓库的目的就是要根据曾经发生的事件进行分析,如果数据是可修改的,将使历史分析变得没有意义。

图片

对数据仓库的概念再来做一个总结,我们抓住两个重点:第一,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;第二,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。

02 数据仓库技术发展历程

图片

03 为什么要建立数据仓库?

现在,大家应该已经熟悉并了解了数据仓库的概念,那么数据仓库里的数据从哪里来呢?通常数据仓库的数据来自各个业务应用系统。业务系统中的数据形式多种多样,可能是Oracle、MySQL、SQL Server等关系数据库里的结构化数据,可能是文本、CSV等平面文件或Word、Excel文档中的非结构化数据,还可能是HTML、XML等自描述的半结构化数据。这些业务数据经过一系列的数据抽取、转换、清洗,最终以一种统一的格式装载进数据仓库。数据仓库里的数据作为分析用的数据源,提供给后面的即席查询、分析系统、数据集市、报表系统、数据挖掘系统等。

从以上描述可以看到,从存储的角度看,数据仓库里的数据实际上已经存在于业务应用系统中,那么为什么不能直接操作业务系统中的数据用于分析,而要使用数据仓库呢?其实这个问题我们可以反过来想一下,不建立数据仓库,数据分析时直接访问业务系统中的数据会存在哪些问题?自然就会有答案了。

我们来列举一些直接访问业务系统无法工作的业务场景:

  • 某些业务数据由于安全或其他因素不能直接访问。

  • 很难建立和维护需要汇总来源于多个业务系统数据的报表。

  • 业务系统的数据格式,如日期、数字的格式不统一。

  • 业务系统的表结构为事务处理性能而优化,有时并不适合查询与分析。

  • 没有适当的位置存储元数据。

  • 通常事务处理的优先级比分析系统高,所以如果分析系统和事务处理运行在同一硬件之上,分析系统往往性能很差。

  • 有误用业务数据的风险且极有可能影响业务系统的性能。

尽管需要增加软硬件的投入,但建立独立数据仓库与直接访问业务数据相比,无论是成本还是带来的好处,这样做都是值得的。随着处理器和存储成本的逐年降低,数据仓库方案的优势更加明显,在经济上也更具可行性。

04 数据仓库价值

图片

  • 提供全面准确的业务洞察:通过对多源数据的整合和分析,数据仓库能够帮助企业获得全面准确的业务洞察,发现隐藏在数据中的规律和趋势。

  • 支持决策制定:数据仓库能够为企业的决策制定提供有力支持,通过多维分析和可视化报表,让企业能够更直观地了解业务状况,制定更准确的战略。

  • 增强企业竞争力:通过数据仓库对市场的洞察力和预测力,企业能够更灵活地应对市场变化,提高竞争力。

  • 降低运营风险:通过对历史数据的分析,数据仓库能够揭示出业务发展过程中的问题和风险,帮助企业及时调整策略,降低运营风险。

05 数据仓库应用场景

针对不同需求的用户 , 数据仓库可以开发如下几种应用:即席查询系统(Ad hoc query)、联机分析处理系统(OLAP)、领导信息系统(Executive Information System)、业务流程重整(Business Process Reengineering)。

数据仓库被广泛应用于各大行业:

  • 电商行业:在电商行业中,数据仓库可用于对用户行为、购买偏好、流量分布等进行深入分析,为企业提供个性化推荐和营销策略。

  • 金融行业:在金融行业中,数据仓库可用于对客户画像、风险评估、欺诈检测、市场趋势等进行分析,帮助金融机构做出更准确的信贷和投资决策。

  • 医疗行业:在医疗行业中,数据仓库可用于对病患画像、疾病分布、治疗效果等进行分析,为医疗机构提供更精确的疾病诊断和治疗方案。

  • 电信行业:在电信行业中,数据仓库可用于客户流失预测、网络性能监测、个性化服务推荐,帮助企业优化客户服务。

  • 物流行业:在电信行业中,数据仓库可用于路线优化、仓储管理、供应链可视化,帮助企业提高物流效率,降低仓储成本。

  • 制造业:在制造业中,数据仓库可用于对产品生产流程、设备运行状况、质量控制等进行分析,提高生产效率和产品质量。

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

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

相关文章

51单片机-DS1302(RTC实时时钟芯片)

数据手册在主页资源免费贡献 开发板芯片数据手册 https://www.alipan.com/s/nnkdHhMGjrz 提取码: 95ik 点击链接保存,

算法分享——《双指针》

文章目录 ✅[《移动零》](https://leetcode.cn/problems/move-zeroes/)🌹题目描述:🚗代码实现:😴代码解析: ✅[《复写零》](https://leetcode.cn/problems/duplicate-zeros/)🌹题目描述&#xf…

Grafana 可视化配置

Grafana 是什么 Grafana 是一个开源的可视化和监控工具,广泛用于查看和分析来自各种数据源的时间序列数据。它提供了一个灵活的仪表盘(dashboard)界面,用户可以通过它将数据源中的指标进行图表化展示和监控,帮助分析趋…

Linux概述、远程连接、常用命令

Linux介绍 Linux操作系统介绍 Linux操作系统的特点 开源免费安全稳定可移植性好 Linux可以安装在不同的设备上 高性能 Linux的使用领域 应用服务器数据库服务器网络服务器虚拟化云计算嵌入式领域个人PC移动手机 Linux文件系统和目录 /:根目录,唯一/h…

flinkcdc 问题记录篇章

startupOptions 讲解 startupOptions 有三个参数initial、earliest、latest initial:因为binlog中不一定包含所有的数据,那么需要全表扫描所有的表,形成快照。常用于历史数据 earliest:从最早的变更日志开始读取(仅增…

linux下进行lvm分区及扩容

目录 LVM存储管理介绍 lvm磁盘扩容有两种方式 创建lvm磁盘 1. 首先先加入第一块儿新的磁盘 2. 对新磁盘 /dev/sdb 进行分区 通过LVM命令创建新卷 1. 创建物理卷 2.创建卷组 并将物理卷加入其中 3. 创建逻辑卷并分配大小 4.格式化刚刚创建的硬盘 5. 挂载磁盘 扩容lvm…

第 2 章:AJAX 的使用

AJAX 的使用 核心对象:XMLHttpRequest,AJAX 的所有操作都是通过该对象进行的。 1. 使用步骤 创建 XMLHttpRequest 对象 var xhr new XMLHttpRequest(); 设置请求信息 xhr.open(method, url);//可以设置请求头,一般不设置 xhr.setReques…

开放式耳机音质好不好?盘点高音质的开放式耳机排行榜10强

开放式耳机音质好不好其实没有准确回答,因为开放式耳机也有其独特的优势特点。 由于开放式耳机的设计原因,所以如果将其与入耳式耳机相比,可能会在音质还原度以及降噪功能方面稍显逊色,当然开放式耳机的音质也并非很差&#xff0…

CAD二次开发IFoxCAD框架系列(26)- 分段测量多段线长度和计算多边形的面积

#region 分段测量多段线长度private static double textHight 10;[CommandMethod(nameof(PolylineDemo))]public void PolylineDemo(){using var tr new DBTrans();if(!tr.LayerTable.Has("标注")){tr.LayerTable.Add("标注",1);}var pso new PromptSel…

【Java】ApiPost请求返回 `406` 状态码(jackson)

Java系列文章目录 补充内容 Windows通过SSH连接Linux 第一章 Linux基本命令的学习与Linux历史 文章目录 Java系列文章目录一、前言二、学习内容:三、问题描述3.1 问题截图3.2 错误简介3.2.1 HTTP状态码 406 Not Acceptable3.2.2 序列化和反序列化 3.3 后端问题位置…

HarmonyOS -服务卡片

服务卡片提供了一种界面展示形式,可以将应用的重要信息或操作前置到服务卡片以达到服务直达、减少跳转层级的体验效果。有些类似于创建了一种 “快键方式”,比如下面的卡片流程图: 添加基础卡片 右键入口模块按照图示新增卡片 ArkTS卡片创建…

4-1.Android Camera 之 CameraInfo 编码模板(前后置摄像头理解、摄像头图像的自然方向理解)

一、Camera.CameraInfo Camera.CameraInfo 是用于获取设备上摄像头信息的一个类,它提供摄像头的各种详细信息,例如,摄像头的方向、是否支持闪光灯等,以下是它的常用属性 static int CAMERA_FACING_BACK:表示设备的后置…

【生日视频制作】F900xr宝马摩托车提车交车仪式AE模板修改文字软件生成器教程特效素材【AE模板】

生日视频制作教程F900xr宝马摩托车提车交车仪式AE模板修改文字特效广告生成神器素材祝福玩法AE模板工程 AE模板套用改图文教程↓↓: 怎么如何做的【生日视频制作】F900xr宝马摩托车提车交车仪式AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&a…

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人…

UNITY UI简易反向遮罩

附带示例资源文件:https://download.csdn.net/download/qq_55895529/89726994?spm1001.2014.3001.5503 大致效果: 实现思路:通过ui shader的模板测试功能实现 通过让想要被突出显示的物体优先渲染并写入模板值,而后再让黑色遮罩渲染并判断模板值进行渲…

龙芯+FreeRTOS+LVGL实战笔记(新)——06添加二级按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了完善与优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以…

揭秘 AMD GPU 上 PyTorch Profiler 的性能洞察

Unveiling performance insights with PyTorch Profiler on an AMD GPU — ROCm Blogs 2024年5月29日,作者:Phillip Dang。 在机器学习领域,优化性能通常和改进模型架构一样重要。在本文中,我们将深入探讨 PyTorch Profiler&#…

【人工智能学习笔记】2_数据处理基础

数据的概述 数据(Data)的定义 用于表示客观事物的未经加工的原始素材不仅指狭义上的数字,也只具有一定意义的文字、字母、数字符号的组合客观事物的属性、数量、位置及其相互关系的抽象表示 在计算机科学与技术领域中,数据是指…

vite+vue3+typescript+elementPlus前端实现电子证书查询系统

实现背景:之前电子证书的实现是后端实现的,主要采用GD库技术,在底图上添加文字水印和图片水印实现的。这里采用前端技术实现电子证书的呈现以及点击证书下载,优点是:后端给前端传递的是一组数据,不需要传证…

从零开始写论文:如何借助ChatGPT生成完美摘要?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 在写论文的过程中,摘要是一个非常重要的部分,它能够帮助读者快速理解论文的核心内容,决定是否进一步阅读全文。但是许多学生在写摘要的时候常常感到困惑,不知…