数据处理分类、数据仓库产生原因
个人看书学习心得及日常复习思考记录,个人随笔。
数据处理分类
操作型数据处理(基础)
操作型数据处理主要完成数据的收集、整理、存储、查询和增删改操作等,主要由一般工作人员和基层管理人员完成。
联机事务处理系统(OLTP,典型)主要功能是对事务进行处理,其性能指标主要是事务处理效率、事务吞吐率,即每个事务处理的时间越快越好(单位时间内能完成的事务数量越多越好)。【强调:事务、关系】
数据库管理系统(DBMS)是联机事务处理系统的主要组成部分。
数据库管理系统主要用于对数据进行有效的存储、管理和存取,其通过流程化存取及缓存机制等,将数据存储到数据库中,最后将数据落地到磁盘。

事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
在关系型数据库中,一个事务可以是一条SQL语句、一组SQL语句或者整个程序。事务和程序是两个概念,一个程序中可以包含多个事务。
数据库管理系统采用日志、备份等恢复技术和并发控制技术来保证事务的原子性(atomictiy)、一致性(consistency)、隔离性(isolation)和持续性(durability)【ACID特性】。
在关系型数据库中,采用索引技术来快速定位数据;采用并行技术提高处理能力和系统的扩展性;采用封锁技术提高并发度,部分关系型数据库DSC集群还引入了闩封锁,允许多个用户同时使用数据库及系统资源,提高了事务的吞吐量;
在关系型数据库中,采用关系规范化理论,每张表按规范一般需要达到第三范式或BC范式,消除表中属性间的部分依赖和传递依赖,各属性只依赖于主码,希望能消除数据冗余,缩短事务处理时间。
相比OLAP而言,OLTP中的事务一般都是短事务,存取数据量较少,所需处理时间较短。
分析型数据处理(基础)
分析型数据处理是对数据的再加工,往往要访问大量的历史数据,进行复杂的统计分析,从中获取信息,因此也称为信息型处理,主要由高级管理人员完成。
决策支持系统(DSS,典型)基本功能是建立各种数学模式,并对其进行数据统计分析,将得出数据价值作为决策的依据和基础。【强调:分析、决策】
操作型数据和分析型数据区别
分析型数据处理不同于操作型数据处理,其需要访问大量的当前和历史数据,进行复杂的计算,用于分析和挖掘数据价值,而操作型数据库一般推荐存储明细数据,分析型数据库一般推荐存储历史数据和综合数据。

数据仓库产生原因
随着第四次工业革命的浪潮到来,许多企业发现传统数据库系统在操作型数据处理中取得的成就,不适用于大数据的分析型数据处理中。数据仓库诞生之前,有着一系列值得思考的问题,为了解决这些问题,方法层出不穷。
数据分散问题
企业开发的联机事务处理系统一般只需要与本部门业务有关的当前数据,而对整个企业范围内的集成应用考虑较少,企业内部各事务处理的应用之间实际上几乎独立,因此当前绝大部分企业内数据的真正情况是分散而非集成的。当然出现上述现象原因诸多,有可能因为系统架构设计及发展规划层面,也有可能因为经济方面。
“蜘蛛网”问题
解决上述数据分散问题的其中一种方法则是对数据进行集成。基于各分散的数据库,以业务需求为导向选择符合条件的数据,将其抽取汇总到某一新文件或数据库中。由于抽取程序能将数据从联机事务处理系统中转移出来,而对转移出来的数据进行分析时降低了影响联机事务处理系统的效率。
因某种业务需求,需要抽取,随后又抽取,抽取之上又抽取,接着在此基础上再抽取,这种不加控制的连续抽取最终导致企业的数据间形成错综复杂的网状结构,像“蜘蛛网”。企业规模越大,数据越分散,数据需求越复杂,“蜘蛛网”问题就越严重。
虽然“蜘蛛网”上任意两个节点的数据可能归根结底是从一个原始数据库中抽取出来,但它们的数据没有统一的时间基准,抽取算法和抽取级别也不相同,并且可能参考了不同的外部数据,因而对同一问题的分析,不同节点会产生不同甚至截然相反的结果,从而使决策者/分析者所分析的数据存在差异。
数据不一致问题
由于前述的数据分散、“蜘蛛网”等问题,导致了多个应用间的数据不一致。这些数据不一致的形式是多种多样的。
例如:
1、同一字段在不同应用中具有不同的数据类型。
2、同一字段在不同应用中具有不同的名字。
3、同名字段,不同含义。
为了将这些不一致的数据集成起来,首先需要对所抽取的数据进行转换,消除数据不一致才能用作分析。
数据动态集成问题
静态集成:对所需数据进行集成后就一直以这部分集成数据作为分析基础,不再与数据源发生联系。缺点:如果在数据集成后数据源中数据发生变更,因数据静态集成,分析数据未能同数据源一样变更,所以导致决策者/分析者使用过时数据。
动态集成:集成数据必须以一定周期/频率进行刷新。其实这里说的“周期/频率”需要结合实际的业务需求,以业务需求为导向去评估“周期/频率”。
联机事务处理系统不具备动态集成的能力。决策支持系统对数据集成的迫切需要可能是数据仓库出现的重要动因之一。
历史数据问题
联机事务处理一般只需要当前数据,在数据库中通常也只存储短期内的数据,且不同数据的保存期限不一样。一些历史数据即使保存,也没得到充分利用。但对于决策分析而言,许多分析方法必须以大量的历史数据为依托,需要对历史数据详细分析,挖掘数据价值,把握发展趋势。
数据综合问题
对于事务处理系统中所积累的大量细节数据,一般而言,决策支持系统并不对这些细节数据进行分析。一是细节数据数据量太大,会严重影响分析的效率;二是太多的细节数据不利于分析人员注意有用信息。因此,在分析前往往需要对细节数据进行不同程度的综合。
而事务处理系统不具备这种综合能力,根据规范化理论,这种综合还往往因为是一种数据冗余而被加以限制。
以上系列问题表明,在操作型数据处理的应用环境中直接构建分析型数据处理应用是一种失败的尝试。
数据仓库本质上是对存在的这些问题的解答。但数据仓库的主要驱动力并不是改正过去的缺点,建立在事务处理环境上的分析系统存在上述各种问题。要提高分析和决策的效率和有效性,分析型处理及其数据将与操作型处理及其数据相分离,必须把分析型数据从事务处理环境中提取出来,按照决策支持系统处理的需要进行重新组织,建立单独的分析型处理环境–数据仓库。
相关文章:
数据处理分类、数据仓库产生原因
个人看书学习心得及日常复习思考记录,个人随笔。 数据处理分类 操作型数据处理(基础) 操作型数据处理主要完成数据的收集、整理、存储、查询和增删改操作等,主要由一般工作人员和基层管理人员完成。 联机事务处理系统ÿ…...
【力扣100】 118.杨辉三角
添加链接描述 思路: 递推公式是[n,x][n-1,x-1][n-1,x] class Solution:def generate(self, numRows: int) -> List[List[int]]:if numRows1:return [[1]]if numRows2:return [[1],[1,1]]res[[1],[1,1]]for i in range(2,numRows): # i代表的是层数的下标&…...
好物周刊#44:现代终端工具
https://github.com/cunyu1943 村雨遥的好物周刊,记录每周看到的有价值的信息,主要针对计算机领域,每周五发布。 一、项目 1. Github-Hosts 通过修改 Hosts 解决国内 Github 经常抽风访问不到,每日更新。 2. 餐饮点餐商城 针对…...
每日五道java面试题之springMVC篇(一)
目录: 第一题. 什么是Spring MVC?简单介绍下你对Spring MVC的理解?第二题. Spring MVC的优点第三题. Spring MVC的主要组件?第四题. 什么是DispatcherServlet?第五题. 什么是Spring MVC框架的控制器? 第一题. 什么是S…...
【GStreamer】basic-tutorial-4:媒体播放状态、跳转seek操作
【目录】郭老二博文之:图像视频汇总 1、示例注释 #include <gst/gst.h>typedef struct _CustomData {GstElement *playbin; /* 本例只有一个元素*/gboolean playing; /* 是否处于播放状态? */gboolean terminate;...
IPSEC VPN 网关模式实验
要求:FW1与FW3建立IPSEC通道,保证10.0.2.0/24网段能访问192.168.1.0/24网段 因为FW1与FW3都处于边界,所以使用网关部署模式来建立IPSEC VPN FW1 这里选择主模式跟隧道模式 FW3与FW1配置类似,与FW1的源目地址反过来,…...
想在Vue中使用v-for来循环遍历一组对象,但只循环三次
想在Vue中使用v-for来循环遍历一组对象,但只想循环三次,你可以通过一些方法来达到这个目的。下面是一些建议的方法: 1. 使用数组的切片方法 如果你的对象是在一个数组中,你可以使用数组的slice()方法来只取数组的前三个元素。 v…...
Blazor系统教程(.net8)
Blazor系统教程 1.认识 Blazor 简单来讲,Blazor旨在使用C#来替代JavaScript的Web应用程序的UI框架。其主要优势有: 使用C#编写代码,这可提高应用开发和维护的效率利用现有的NET库生态系统受益于NET的性能、可靠性和安全性与新式托管平台(如…...
Day15:技术架构、Maven、Spring Initializer、Spring全家桶、Spring IoC
侧重于服务端(后端),不在意前端,了解一些前端即可) 技术架构 (把Spring设计的更简单好用了就是Spring Boot) 开发环境(Maven) Maven maven通过brew安装的目录为&#x…...
[c/c++] const
const 和 #define 的区别 ? const 和指针一块出现的时候,到底谁不能修改 ? const 和 volatile 能同时修饰一个变量吗 ? const 在 c 中的作用 ? 1 const 和 #define 的区别 const 和 #define 的相同点: (1) 常数 const 和 #define 定…...
生成商品条码
php生成商品条码,编码格式为:EAN13 下载第三方包:composer require codeitnowin/barcode 生成条码代码: $filename \Str::random(40) . .png;$barcode new BarcodeGenerator();$barcode->setText($barCode);$barcode->s…...
langchain学习笔记(十一)
关于langchain中的memory,即对话历史(message history) 1、 Add message history (memory) | 🦜️🔗 Langchain RunnableWithMessageHistory,可用于任何的chain中添加对话历史,将以下之一作为…...
LabVIEW高温摩擦磨损测试系统
LabVIEW高温摩擦磨损测试系统 介绍了一个基于LabVIEW的高温摩擦磨损测试系统的软件开发项目。该系统实现高温条件下材料摩擦磨损特性的自动化测试,通过精确控制和数据采集,为材料性能研究提供重要数据支持。 项目背景 随着材料科学的发展,…...
基于YOLOv5的驾驶员疲劳驾驶行为检测系统
💡💡💡本文主要内容:详细介绍了疲劳驾驶行为检测整个过程,从数据集到训练模型到结果可视化分析。 博主简介 AI小怪兽,YOLO骨灰级玩家,1)YOLOv5、v7、v8优化创新,轻松涨点和模型轻量…...
融合软硬件串流多媒体技术的远程控制方案
远程技术已经发展得有相当水平了,在远程办公,云游戏,云渲染等领域有相当多的应用场景,以向日葵,todesk rustdesk等优秀产品攻城略地,估值越来越高。占据了通用应用的方方面面。 但是细分市场,还…...
Spring中的数据校验---JSR303
介绍–什么是JSR303 JSR 303是Java中的一项规范,用于定义在Java应用程序中执行数据校验的元数据模型和API。JSR 303的官方名称是"Bean Validation",它提供了一种在Java对象级别上执行验证的方式,通常用于确保输入数据的完整性和准…...
“揭秘网络握手与挥别:TCP三次握手和四次挥手全解析“
前言 在计算机网络中,TCP(传输控制协议)是一种重要的通信协议,用于在网络中的两台计算机之间建立可靠的连接并交换数据。TCP协议通过“三次握手”和“四次挥手”的过程来建立和终止连接,确保数据的准确传输。 一、三…...
Java开发工程师面试题(Spring)
一、Spring Bean的生命周期 生命周期可以分为以下几步: 通过Spring框架的beanFactory工厂利用反射机制创建bean对象。根据set方法或者有参构造方法给bean对象的属性进行依赖注入。判断当前bean对象是否实现相关aware接口,诸如beanNameAware、beanFactor…...
【C++】string类的基础操作
💗个人主页💗 ⭐个人专栏——C学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读 1. 基本概述 2. string类对象的常见构造 3. string类对象的容量操作 4. string类对象的访问及遍历操作 5. 迭代器 6.…...
Java项目:40 springboot月度员工绩效考核管理系统009
作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本系统的功能分为管理员和员工两个角色 管理员的功能有: (1)个人中心管理功能,添加管理员账号…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...
