【数据仓库与联机分析处理】数据仓库
目录
一、数据仓库的概念
二、数据仓库与操作性数据库的区别
三、发展前期
四、数据仓库的系统结构
五、建模划分
六、主要案例
一、数据仓库的概念
目前很难给数据仓库(Data Warehouse)一个严格的定义,不准确地说,数据仓库也是一种数据库,它与操作性数据库进行分开维护。按照数据仓库系统构造方面的领头设计师William H.Inmon的说法,数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)以及反映历史变化(Time Variant)的数据集合,用于支持管理决策。
1、面向主题是指数据仓库会围绕一些主题来组织和构建,如顾客、供应商、产品等,数据仓库关注决策者的数据建模与分析,而不是企业的日常操作和事务处理,因此,数据仓库排除对决策支持过程无用的数据,提供面向特定主题的视图。
2、集成是指通常构建数据仓库会将多个异构的数据源,如关系数据库、一般的文件和事务处理记录等集成在一起,这就需要使用数据清理和数据集成技术,来确保命名约定、编码结构和属性度量等的一致性。
3、相对稳定是指数据仓库大多会分开存放数据,数据仓库不需要进行事务处理、数据恢复和并发控制等机制,通常数据仓库只需要两种数据访问操作:数据的初始化装入和数据的访问。
4、反映历史变化是指数据仓库是从历史的角度提供信息,换句话说,数据仓库中的关键结构都会显式或者隐式地包含时间元素。
二、数据仓库与操作性数据库的区别
为了进一步加深对数据仓库概念的理解,我们把数据库系统和数据仓库进行对比。为了区分,这里把数据库系统称为操作性数据库。操作性数据库的主要任务是执行联机事务和查询处理,这种系统称为联机事务处理(Online Transaction Processing,OLTP)系统,它涵盖了企业组织机构大部分的日常操作,如购物、注册、记账等。 数据仓库系统则是在数据分析和决策方面为用户和决策者提供服务,以特定的主题和格式来组织和提供数据,从而满足不同用户的需求,因此这种系统称为联机分析处理(Online Analytical Processing,OLAP)系统。
OLTP和OLAP的主要区别体现在如下几个方面:
1、系统面向的用户对象不同。OLTP系统面向一般的客户,用于数据库用户的事务处理和查询,而OLAP系统则是面向知识工人或者管理决策人员,提供数据分析功能。
2、数据的内容不同。OLTP管理的是当前的数据,对于数据的操作相对较为细小琐碎,无法用于决策。OLAP则管理了大量的历史数据,如一个销售公司一个月、一年甚至数年的销售数据。OLAP提供了汇总和聚集机制,并且可以在不同的粒度级别、不同的维度视角来存储和管理数据,这些优势使得数据可以用于分析和决策任务。
3、采用的模型和设计不同。通常OLTP系统采用的实体—联系(E-R)模型和面向应用的数据库设计,而OLAP采用的是面向某个主题的星形模式、雪花模式或事实星座模式的数据库设计。
4、访问模式不同。OLTP系统的访问模式主要由短的原子事务所组成,既有读操作也有写操作,这种系统需要考虑事务管理、并发控制和故障恢复等机制。而OLAP的访问模式在完成数据的初始装载以后,基本都是只读操作。
5、数据的视图不同。OLTP主要关注当前生产环境的数据,不太涉及历史数据。而OLAP系统通常要跨越数据库的多个版本,处理来自不同组织的数据信息。由于数据量巨大,OLAP的数据通常会存放在多个存储介质上。
操作性数据库与数据仓库的其他区别,如数据量的大小、操作的频度和性能等,如下表所示:
三、发展前期
计算机发展的早期,人们已经提出了建立数据仓库的构想。“数据仓库”一词最早是在1990年,由Bill Inmon先生提出的,其描述如下:数据仓库是为支持企业决策而特别设计和建立的数据集合。
企业建立数据仓库是为了填补现有数据存储形式已经不能满足信息分析的需要。数据仓库理论中的一个核心理念就是:事务型数据和决策支持型数据的处理性能不同。企业在它们的事务操作收集数据。在企业运作过程中:随着定货、销售记录的进行,这些事务型数据也连续的产生。为了引入数据,我们必须优化事务型数据库。
处理决策支持型数据时,一些问题经常会被提出:哪类客户会购买哪类产品?促销后销售额会变化多少?价格变化后或者商店地址变化后销售额又会变化多少呢?在某一段时间内,相对其他产品来说哪类产品特别容易卖呢?哪些客户增加了他们的购买额?哪些客户又削减了他们的购买额呢?
事务型数据库可以为这些问题作出解答,但是它所给出的答案往往并不能让人十分满意。在运用有限的计算机资源时常常存在着竞争。在增加新信息的时候我们需要事务型数据库是空闲的。而在解答一系列具体的有关信息分析的问题的时候,系统处理新数据的有效性又会被大大降低。另一个问题就在于事务型数据总是在动态的变化之中的。决策支持型处理需要相对稳定的数据,从而问题都能得到一致连续的解答。
数据仓库的解决方法包括:将决策支持型数据处理从事务型数据处理中分离出来。数据按照一定的周期(通常在每晚或者每周末),从事务型数据库中导入决策支持型数据库——既“数据仓库”。数据仓库是按回答企业某方面的问题来分“主题”组织数据的,这是最有效的数据组织方式。
四、数据仓库的系统结构
1、数据源
是数据仓库的数据来源,含外部数据、现有业务系统和文档资料等;对这些数据首先完成数据集成,包括数据的抽取、清洗、转换和加载任务。数据源中的数据采用ETL(Extract-Transform-Load,数据抽取、转换、装载)工具并以固定的周期加载到数据仓库中。
2、数据存储和管理
此层次主要涉及对数据的存储和管理,含数据仓库、数据仓库检测、运行与维护工具和元数据管理等。
3、数据服务
为前端和应用提供数据服务,可直接从数据仓库中获取数据供前端应用使用,也可通过OLAP服务器为前端应用提供负责的数据服务。
4、数据应用
此层次直接面向用户,含数据查询工具、自由报表工具、数据分析工具、数据挖掘工具和各类应用系统。
随着应用需求的发展变化,传统的数据仓库也存在如下几个亟待解决的问题:
(1)无法满足快速增长的数据存储需求,传统数据仓库基于关系型数据库,横向扩展较差,纵向扩展有限。
(2)无法处理不同类型的数据,传统数据仓库只能处理和存储结构化数据。随着应用需求的发展,数据的格式越来越丰富,半结构化、非结构化数据所占比重越来越大,处理需求越来越迫切。
(3)传统数据仓库建立在关系型数据仓库之上,计算和处理能力不足,当数据量达到TB级后性能难以得到保证。
五、建模划分
数据仓库的数据建模大致分为四个阶段:
1、业务建模,这部分建模工作,主要包含以下几个部分:
(1)划分整个单位的业务,一般按照业务部门的划分,进行各个部分之间业务工作的界定,理清各业务部门之间的关系。
(2)深入了解各个业务部门内的具体业务流程并将其程序化。
(3)提出修改和改进业务部门工作流程的方法并程序化。
(4)数据建模的范围界定,整个数据仓库项目的目标和阶段划分。
2、领域概念建模,这部分得建模工作,主要包含以下几个部分:
(1)抽取关键业务概念,并将之抽象化。
(2)将业务概念分组,按照业务主线聚合类似的分组概念。
(3)细化分组概念,理清分组概念内的业务流程并抽象化。
(4)理清分组概念之间的关联,形成完整的领域概念模型。
3、逻辑建模,这部分的建模工作,主要包含以下几个部分:
(1)业务概念实体化,并考虑其具体的属性。
(2)事件实体化,并考虑其属性内容。
(3)说明实体化,并考虑其属性内容。
4、物理建模,这部分得建模工作,主要包含以下几个部分:
(1)针对特定物理化平台,做出相应的技术调整。
(2)针对模型的性能考虑,对特定平台作出相应的调整。
(3)针对管理的需要,结合特定的平台,做出相应的调整。
(4)生成最后的执行脚本,并完善之。
六、主要案例
1、Agrofert
农业、食品和化工集团Agrofert 发现,随着企业的快速发展,旗下子公司已经有 160 多个不同的系统在运行。很难提供统一的报告,而且支持和许可成本也不断上升。如果每新购一个系统就扩大一次基础架构,显然不是一种可以扩展的战略。Agrofert采用 SAP ERP 应用程序作为其部分子公司的共享服务,目的是将其逐渐推广到整个企业,这些应用程序在两个地点的 IBM Power Systems 服务器上集中管理。公司从混合数据库环境(包括 Oracle 和 Microsoft SQL Server)迁移到 IBM DB2,将 IBM DB2 作为其标准数据库,同时还为关键的业务数据部署集中的存储系统。迁移后,不再需要本地系统,能够极大地降低管理、支持和许可成本;借助IBM DB2 可降低许可费用,简化管理并减少员工教育及培训;整合的存储有助于降低成本,而 IBM DB2 深度压缩将会降低总体存储需求;总成本估计减少 20%。
2、迪斯尼乐园
Disney每年都有10亿美元商品销售收入,而建立一个ERP系统来处理这些信息是极具挑战性的。最新的集中式ERP系统是设计用来处理商品管理、存货管理和相关业务过程的。但是Disney 也希望平衡财务和业务智能(BI)报告和业务分析系统,这意味着建立一个新的数据仓库。Disney在该项目中所使用的一些产品包括SAS分析软件和Teradata数据仓库技术。最新的集中式ERP、数据仓库和分析系统正帮助Disney更好地管理存货、分析销售额和预报特定领域的商品需求。
相关文章:
【数据仓库与联机分析处理】数据仓库
目录 一、数据仓库的概念 二、数据仓库与操作性数据库的区别 三、发展前期 四、数据仓库的系统结构 五、建模划分 六、主要案例 一、数据仓库的概念 目前很难给数据仓库(Data Warehouse)一个严格的定义,不准确地说,数据仓库…...
机器学习:贝叶斯估计在新闻分类任务中的应用
文章摘要 随着互联网的普及和发展,大量的新闻信息涌入我们的生活。然而,这些新闻信息的质量参差不齐,有些甚至包含虚假或误导性的内容。因此,对新闻进行有效的分类和筛选,以便用户能够快速获取真实、有价值的信息&…...
[C#]基于deskew算法实现图像文本倾斜校正
【算法介绍】 让我们开始讨论Deskeweing算法的一般概念。我们的主要目标是将旋转的图像分成文本块,并确定它们的角度。为了让您详细了解我将使用的方法: 照常-将图像转换为灰度。应用轻微的模糊以减少图像中的噪点。现在,我们的目标是找到带…...
Qt通过pos()获取坐标信息
背景:这是一个QWidget窗体,里面是各种布局的组合,一层套一层。 我希望得到绿色部分的坐标信息(x,y) QPoint get_pos(QWidget* w, QWidget* parent) {if ((QWidget*)w->parent() parent) {return w->pos();}else {QPoint pos(w->po…...
【Webpack】资源输入输出 - 配置资源出口
所有与出口相关的配置都集中在 output对象里 output对象里可以包含数十个配置项,这里介绍几个常用的 filename 顾名思义,filename的作用是控制输出资源的文件名,其形式为字符串,如: module.exports {entry: ./src/a…...
【XR806开发板试用】XR806串口驱动CM32M对小厨宝的控制实验
一.说明 非常感谢基于安谋科技STAR-MC1的全志XR806 Wi-FiBLE开源鸿蒙开发板试用活动,并获得开发板试用。 XR806是全志科技旗下子公司广州芯之联研发设计的一款支持WiFi和BLE的高集成度无线MCU芯片,支持OpenHarmony minisystem和FreeRTOS,具有集成度高、…...
中介者模式-Mediator Pattern-1
如果在一个系统中对象之间的联系呈现为网状结构, 对象之间存在大量的多对多联系,将导致系统非常复杂。 这些对象既会影响别的对象,也会被别的对象所影响。 这些对象称为同事对象,它们之间通过彼此的相互作用实现系统的行为。 在网…...
ASP.NET Core基础之图片文件(一)-WebApi图片文件上传到文件夹
阅读本文你的收获: 了解WebApi项目保存上传图片的三种方式学习在WebApi项目中如何上传图片到指定文件夹中 在ASP.NET Core基础之图片文件(一)-WebApi访问静态图片文章中,学习了如何获取WebApi中的静态图片,本文继续分享如何上传图片。 那么…...
精准掌控 Git 忽略规则:定制化 .gitignore 指南
🧙♂️ 诸位好,吾乃诸葛妙计,编程界之翘楚,代码之大师。算法如流水,逻辑如棋局。 📜 吾之笔记,内含诸般技术之秘诀。吾欲以此笔记,传授编程之道,助汝解技术难题。 &…...
Harmony 开始支持 Flutter ,聊聊 Harmony 和 Flutter 之间的因果
原创作者:恋猫de小郭 相信大家都已经听说过,明年的 Harmony Next 版本将正式剥离 AOSP 支持 ,基于这个话题我已经做过一期问题汇总 ,当时在 现有 App 如何兼容 Harmony Next 问题上提到过: 华为内部也主导适配目前的主…...
k8s 之7大CNI 网络插件
一、介绍 网络架构是Kubernetes中较为复杂、让很多用户头疼的方面之一。Kubernetes网络模型本身对某些特定的网络功能有一定要求,但在实现方面也具有一定的灵活性。因此,业界已有不少不同的网络方案,来满足特定的环境和要求。 CNI意为容器网络…...
stable diffusion 人物高级提示词(一)头部篇
一、女生发型 prompt描述推荐用法Long hair长发一定不要和 high ponytail 一同使用Short hair短发-Curly hair卷发-Straight hair直发-Ponytail马尾high ponytail 高马尾,一定不要和 long hair一起使用,会冲突Pigtails2条辫子-Braid辫子只写braid也会生…...
限制哪些IP能连接postgre
打开C:\Program Files\PostgreSQL\9.4\data\pg_hba.conf 以下代表本机能连,172.16.73.xx都能连(/24就代表最后一位是0-255),如果是172.16.73.11/32那就是限制了172.16.73.11才能连(实际我设置/32是无效的)&…...
可狱可囚的爬虫系列课程 08:新闻数据爬取实战
前言 本篇文章中我带大家针对前面所学 Requests 和 BeautifulSoup4 进行一个实操检验。 相信大家平时或多或少都有看新闻的习惯,那么我们今天所要爬取的网站便是新闻类型的:中国新闻网,我们先来使用爬虫爬取一些具有明显规则或规律的信息&am…...
mysql2pgsql
使用pgloader进行迁移 pgloader是一个强大的数据迁移工具,专为将不同数据库之间的数据迁移到PostgreSQL而设计。它支持从MySQL到PostgreSQL的迁移,并提供了一种简单且灵活的方式来转移数据。 安装pgloader 使用pgloader迁移数据 1、命令行方式 2、脚…...
设计模式-流接口模式
设计模式专栏 模式介绍模式特点应用场景流接口模式和工厂模式的区别代码示例Java实现流接口模式Python实现流接口模式 流接口模式在spring中的应用 模式介绍 流接口模式是一种面向对象的编程模式,它可以使代码更具可读性和流畅性。流接口模式的核心思想是采用链式调…...
Java 堆与栈的作用与区别
栈是运行时的单位,而堆是存储的单位,栈解决程序的运行问题,堆解决数据存储的问题。 一个线程对应一个线程栈,栈是运行单位,里面存储的信息都是跟当前线程相关的信息,包括局部变量、程序运行状态、方法返回…...
再谈小米汽车
文章目录 1. 外观2. 电机3. 电池4. 风阻5. 强度6. 智能驾驶 我在两年前分析过小米造车的形势,大家可以 点击这里查看。今天小米官宣传了新汽车。看一下它公布的主要信息: 1. 外观 汽车外观是向保时捷致敬,因此它的外观特别像保时捷。不过外…...
Power Apps 学习笔记 - IOrganizationService Interface
文章目录 1. IOrganization Interface1.1 基本介绍1.2 方法分析 2. Entity对象2.1 Constructor2.2 Properties2.3 Methods 3. 相关方法3.1 单行查询 Retrive3.2 多行查询 RetriveMultiple3.3 增加 Create3.4 删除 Delete3.5 修改 Update 4. 数据查询的不同实现方式4.1 QueryExp…...
常见函数的4种类型(js的问题)
• 匿名函数 • 回调函数 • 递归函数 • 构造函数 1、匿名函数 定义时候没有任何变量引用的函数 匿名函数自调:函数只执行一次 (function(a, b){console.log(a b);} )(1, 2);// 等价于 function foo (a, b){console.log(a b); }foo(1, …...
DNS主从服务器、转发(缓存)服务器
一、主从服务器 1、基本含义 DNS辅助服务器是一种容错设计,考虑的是一旦DNS主服务器出现故障或因负载太重无法及时响应客户机请求,辅助服务器将挺身而出为主服务器排忧解难。辅助服务器的区域数据都是从主服务器复制而来,因此辅助服务器的数…...
第二十一章 网络编程
第二十一章 网络编程 1.网络相关概念2.IP地址3.域名与端口4.网络协议5.TCP与UDP6.InetAddress7.Socket8.TCP字节流编程19.TCP字节流编程210.TCP字节流编程311.网络上传文件112.网络上传文件213.网络上传文件314.Netstat15.TCP连接秘密16.UPD原理17.UPD网络编程118.UDP网络编程2…...
scratch新跳7游戏 2023年12月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析
目录 scratch新跳7游戏 一、题目要求 1、准备工作 2、功能实现 二、案例分析...
三、C#面向对象编程(接口与实现)
在C#中,接口是一种定义方法但不包含实现的方式,可以被多个类实现以支持不同的行为。通过接口,我们可以定义一组标准的成员,让类遵循特定的契约。 下面是一个关于接口和实现的简单示例: // 定义一个接口 public inter…...
【java爬虫】股票数据获取工具前后端代码
前面我们有好多文章都是在介绍股票数据获取工具,这是一个前后端分离项目 后端技术栈:springboot,sqlite,jdbcTemplate,okhttp 前端技术栈:vue,element-plus,echarts,ax…...
Scikit-Learn线性回归(四)
Scikit-Learn线性回归四:梯度下降 1、梯度下降1.1、梯度下降概述1.2、梯度下降及原理1.3、梯度下降的实现2、梯度下降法求解线性回归的最优解2.1、梯度下降法求解的原理2.2、梯度下降法求解线性回归的最优解2.3、梯度下降法求解线性回归案例(波士顿房价预测)3、Scikit-Learn…...
SCT2330C——3.8V-28V输入,3A,低EMI,超低功耗同步降压DCDC转换器
描述: SCT2330C是3A同步buck变换器,输入电压范围高达28V,完全集成了80mΩ高压侧MOSFET和42mΩ低压侧MOSFET,提供高效降压DC-DC转换。SCT2330C采用峰值电流模式控制,集成补偿网络,通过最小化片外元件数量&a…...
php生成唯一ID的5种方法介绍
php生成唯一ID的5种方法介绍 工作中使用到唯一ID的场景非常多,如临时缓存文件、临时变量、临时安全码等。 uniqid()函数基于以微妙计的当前时间,生成一个唯一的ID。由于生成唯一ID与微妙时间关联,因此生成ID的唯一性非常可靠。 生成的唯一…...
向日葵远程工具安装Mysql的安装与配置
目录 一、向日葵远程工具安装 1.1 简介 1.2 下载地址 二、Mysql 5.7 安装与配置 2.1 简介 2.2 安装 2.3 初始化mysql服务端 2.4 启动mysql服务 2.5 登录mysql 2.6 修改密码 2.7 设置外部访问 三、思维导图 一、向日葵远程工具安装 1.1 简介 向日葵远程控制是一款用…...
Unity 欧盟UMP用户隐私协议Android接入指南
Unity 欧盟UMP用户协议Android接入指南 官方文档链接开始接入mainTemplate.gradle 中引入CustomUnityPlayerActivity 导入UMP相关的包java类中新增字段初始化UMPSDK方法调用![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d882171b068c46a1b956e80425f3a9cf.png)测…...
微信咋做自己的网站/宣传软文模板
184行前添加: if (asm.GetType().FullName ! "System.Reflection.RuntimeAssembly") continue;忽略错误 缓存的Provider 不能执行 存储过程,报 NotSupportedException("Command tree type " commandTree.GetType() " is not …...
新手怎么搭建网站/现在如何进行网上推广
ueditor以下错误: ““/”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 未能执行 URL。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该…...
源码做网站教程/百度推广优化技巧
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼最近学习CUDA C的编程,在并行运行一个简单的解调算法的时候,统计时间后发现运行速度越来越慢(但还是运算结果正确的),后来简化到只运行其中一个核函数的时候,就算复杂度下降了&#x…...
量子秘密网站怎么做/网站分析培训班
(注意!非广告洗脑文,请注意甄别。) 执行力不够怎么办? 今天想学习3个小时内容,可惜只坚持了30分钟。 今天想把某功能用例写完,可惜只写了一半。 今天想开发个自动化脚本,可惜开个…...
包装产品做网站/今日头条新闻推荐
大学的学习,相比高中需要做出重大的改变。由大家都一样的教育,转而到专业教育,结合专业特点安排学习,也可能要有不小的改变。然而,人从娘胎中带来的改变本能随着长大却被保守所代替,明知一些问题存在&#…...
英山县住房和城乡建设局网站/浏览器下载安装2023版本
Liunx要查找某个文件,但不知道放在哪里,可以通过下面命令来查找:(1)which 查看可执行文件的位置(2)whereis 查看文件的位置(3)locate 配合数据库查看文件位置(…...