当前位置: 首页 > article >正文

数据分析之OLTP vs OLAP

数据处理系统主要有两种基本方法:一种注重数据操作(增删查改),另一种注重商业智能数据分析。

这两种系统是:

  • 联机事务处理(OLTP)

  • 联机分析处理(OLAP)

Power BI专为与OLAP系统兼容而构建,并未针对 OLTP 系统进行优化。

Image

OLTP:联机事务处理

Image

OLTP(Online Transaction Processing)是一种实时处理数据的方式,主要用于支持日常的业务操作,比如如 ATM 提款、电子商务订单、在线银行活动、短信和账户更新等各种日常操作等。它的特点是事务性,即每次操作都是一个独立的事务,需要保证数据的准确性、完整性和一致性。

特点:

  • 实时性:数据处理是实时的,用户操作后立即得到反馈。

  • 事务性:每个操作都是一个事务,需要保证数据的完整性和一致性。

  • 高频操作:通常涉及大量的、频繁的读写操作。

举例:

想象一下你在超市买东西,当你在收银台结账时,收银员扫描商品条形码,系统会实时更新库存数量,同时记录你的购买信息,生成订单。这个过程就是OLTP。每次扫描商品和更新库存都是一个独立的事务,必须保证准确无误。如果库存数量没有正确更新,或者订单信息记录错误,就会影响后续的业务操作。

OLTP工具:

  • 常见的OLTP关系型数据库:Oracle Database、Microsoft SQL Server、MySQL、PostgreSQL等

  • 常见的OLTP分布式数据库:OceanBase、Cassandra、TiDB、Amazon Aurora等

Image

OLAP:联机分析处理

Image

OLAP(Online Analytical Processing)是一种多维数据分析方式,主要用于从大量数据中进行数据挖掘提取有价值的信息,帮助决策者进行数据分析和决策。它的特点是擅长以极高的速度(以毫秒为单位)对大量数据进行多维度分析,可以对数据进行各种复杂的查询和统计。

特点:

  • 多维度分析:可以从多个角度(如时间、地点、商品类别等)对数据进行分析。

  • 复杂查询:支持复杂的查询和统计,比如求和、平均值、最大值等。

  • 决策支持:帮助决策者从大量数据中提取有价值的信息,支持决策。

通常,OLAP 系统从 OLTP 系统存储的存储库中处理和检索数据。许多企业依赖 OLAP 进行财务分析、预测、预算编制、报告、市场营销和销售优化以及决策。

举例:

假设你是超市的老板,你想了解过去一年哪些商品的销售额最高,或者不同季节的销售趋势如何。这时候,你需要对销售数据进行分析。你可以从多个维度来查看数据,比如按商品类别、按月份、按地区等。这种分析过程就是OLAP。通过OLAP,你可以发现哪些商品在哪个季节卖得最好,从而调整库存和促销策略。

OLAP工具:

  • 常用的OLAP商业智能分析工具:如Power BI、Tableau、SAP BW/HANA、Excel等。

  • 常用的OLAP数据库管理系统工具:如Microsoft SQL Server Analysis Services(SSAS)、Oracle OLAP、ClickHouse、Druid等。

    Image

    OLTP VS OLAP

    Image

    如我们所见,OLTP 是操作性的,而 OLAP 是信息性的。通过下面表格,大家可以一目了然看出OLTP和OLAP的异同:

    特征

    OLTP

    OLAP

    处理

    处理大量小事务

    处理大量复杂查询的数据

    查询类型

    简单标准化查询

    复杂查询

    操作

    基于 INSERT、UPDATE、DELETE 命令

    基于 SELECT 命令以聚合数据进行报告

    响应时间

    毫秒

    根据处理的数据量,可能为秒、分钟或小时

    设计

    行业特定,如零售、制造或银行

    主题特定,如销售、库存或市场营销

    来源

    事务

    来自事务的聚合数据

    目的

    实时控制和运行基本业务操作

    规划、解决问题、支持决策、发现隐藏的洞察

    数据更新

    用户发起的短小快速更新

    数据通过计划的长时间批处理作业定期刷新

    空间需求

    如果历史数据被归档,通常较小

    由于聚合大量数据集,通常较大

    备份和恢复

    需要定期备份以确保业务连续性并满足法律和治理要求

    丢失的数据可以根据需要从 OLTP 数据库重新加载,以替代常规备份

    生产力

    提高最终用户的生产力

    提高业务经理、数据分析师和高管的生产力

    数据视图

    列出日常业务事务

    企业数据的多维视图

    数据库设计

    为效率而规范化的数据库

    为分析而非规范化的数据库

今天的分享结束,感谢大家的持续订阅和关注。

相关文章:

数据分析之OLTP vs OLAP

数据处理系统主要有两种基本方法:一种注重数据操作(增删查改),另一种注重商业智能数据分析。 这两种系统是: 联机事务处理(OLTP) 联机分析处理(OLAP) Power BI专为与OLAP系统兼容而构建&…...

Flask音频处理:构建高效的Web音频应用指南

引言 在当今多媒体丰富的互联网环境中,音频处理功能已成为许多Web应用的重要组成部分。无论是音乐分享平台、语音识别服务还是播客应用,都需要强大的音频处理能力。Python的Flask框架因其轻量级和灵活性,成为构建这类应用的理想选择。 本文…...

powershell 安装 .netframework3.5

在 PowerShell 中安装 .NET Framework 3.5 可以通过几种不同的方法实现,取决于你的操作系统版本。以下是几种常见的方法: 方法1:使用 DISM 命令 对于 Windows 10 和 Windows 8.1,你可以使用 DISM(Deployment Image Se…...

dvwa5——File Upload

LOW 在dvwa里建一个testd2.php文件,写入一句话木马,密码password antsword连接 直接上传testd2.php文件,上传成功 MEDIUM 查看源码,发现这一关只能提交jpg和png格式的文件 把testd2.php的后缀改成jpg,上传时用bp抓包…...

cv::FileStorage用法

cv::FileStorage 是 OpenCV 中的一个类,用于读取和写入结构化数据(如 YAML、XML、JSON)。它非常适合保存和加载诸如: 相机内参(K、D) 位姿(R、T) IMU 数据 配置参数 向量、矩阵、…...

Go 语言 := 运算符详解(短变量声明)

Go 语言 : 运算符详解(短变量声明) : 是 Go 语言中特有的​​短变量声明运算符​​(short variable declaration),它提供了简洁的声明并初始化变量的方式。这是 Go 语言中常用且强大的特性之一。 基本语法和用途 va…...

【优选算法】C++滑动窗口

1、长度最小的子数组 思路&#xff1a; class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {// 滑动窗口// 1.left0,right0// 2.进窗口( nums[right])// 3.判断// 出窗口// (4.更新结果)// 总和大于等于 target 的长度最小的 子数组…...

关于GitHub action云编译openwrt

特别声明:此教程仅你有成功离线编译的经验后,使用下列教程更佳 不建议没有任何成功经验的人进行云编译 1、准备工作 使用GitHub云编译模板 GitHub - jxjxcw/build_openwrt: 利用Actions在线云编译openwrt固件,适合官方源码,lede,lienol和immortalwrt源码,支持X86,电…...

数据库学习(二)——MySQL语句

MySQL 语句分为&#xff1a; 语句类型作用关键字示例数据查询&#xff08;DQL&#xff09;查询数据SELECT数据操作&#xff08;DML&#xff09;插入、更新、删除数据INSERT, UPDATE, DELETE数据定义&#xff08;DDL&#xff09;定义或修改表结构CREATE, ALTER, DROP事务控制&a…...

AI Agent 架构设计:ReAct 与 Self-Ask 模式对比与分析

一、引言 (一) AI Agent 技术发展背景 &#x1f680; AI Agent 的演进是一场从“遵循指令”到“自主决策”的深刻变革。早期&#xff0c;以规则引擎为核心的系统&#xff08;如关键词匹配的客服机器人&#xff09;只能在预设的流程上运行。然而&#xff0c;大语言模型的崛起为…...

sql入门语句-案例

Sql入门 数据库、数据表、数据的关系介绍 数据库 用于存储和管理数据的仓库 一个库中可以包含多个数据表 数据表 数据库最重要的组成部分之一 它由纵向的列和横向的行组成(类似excel表格) 可以指定列名、数据类型、约束等 一个表中可以存储多条数据 数据 想要永久化存储…...

A Survey on the Memory Mechanism of Large Language Model based Agents

目录 摘要Abstract1. LLM-Based Agent的Memory1.1 基础概念1.2 用于解释Memory的例子1.3 智能体记忆的定义1.3.1 狭义定义(肯定不用这个定义)1.3.2 广义定义 1.4 记忆协助下智能体与环境的交互过程1.4.1 记忆写入1.4.2 记忆管理1.4.3 记忆读取1.4.4 总过程 2. 如何实现智能体记…...

华为OD机试 - 猴子吃桃 - 二分查找(Java 2025 B卷 200分)

public class Test14 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {String[] s = sc.nextLine().split(" ");int[] arr = new int[s.length-1];int count = Integer.parseInt(s[s...

提取数据区域中表格

查看本示例演示效果本示例关键代码的编写位置&#xff0c;请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码 在实际的开发过程中&#xff0c;有时会遇到希望提取Word文档中表格数据保存到服务器的需求&#xff0c;此时可以使用PageOffice提取Word文档数据区域…...

【设计模式-5】设计模式的总结

说明&#xff1a;介绍完所有的设计模式&#xff0c;本文做一下总结 设计模式介绍 博主写的设计模式博客如下&#xff1a; 【设计模式-1】UML和设计原则 【设计模式-2.1】创建型——单例模式 【设计模式-2.2】创建型——简单工厂和工厂模式 【设计模式-2.3】创建型——原型…...

【无人机】无人机UAV、穿越机FPV的概念介绍,机型与工具,证书与规定

【无人机】无人机UAV、穿越机FPV的概念介绍&#xff0c;机型与工具&#xff0c;证书与规定 文章目录 1、无人机的定义、概念、技术栈1.1 无人机的概念1.2 无人机技术&#xff08;飞控&#xff0c;动力&#xff0c;通信&#xff09; 2、无人机机型2.1 DJI无人机 &#xff08;航拍…...

链表好题-多种实现

143. 重排链表 - 力扣&#xff08;LeetCode&#xff09; 这道题非常经典&#xff0c;很多大厂都作为面试题。 方法一&#xff1a;寻找中点翻转链表合并链表 class Solution { public:void reorderList(ListNode* head) {if (head nullptr) {return;}ListNode* mid middleNo…...

oracle数据恢复—oracle数据库执行truncate命令后的怎么恢复数据?

oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下&#xff0c;oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况&#xff0c;例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致…...

OneNet + openssl + MTLL

1.OneNet 使用的教程 1.在网络上搜索onenet&#xff0c;注册并且登录账号。 2.产品服务-----物联网服务平台立即体验 3.在底下找到立即体验进去 4.产品开发------创建产品 5.关键是选择MQTT&#xff0c;其他的内容自己填写 6.这里产品以及开发完成&#xff0c;接下来就是添加设…...

分享两个日常办公软件:uTools、PixPin

1. uTools 网址&#xff1a;https://u.tools/ 这是一个高效智能的在线工具平台。 特点&#xff1a; 专为提升用户的工作效率跟生活便利性设计。 优点&#xff1a; 1&#xff1a;由国内团队开发。 2&#xff1a;通过插件化的方式为用户提供多样化的功能支持。 3&#xf…...

Golang基础学习

​​​​​​​​​​ 初见golang语法 go项目路径 cd $GOPATH //ls可以看到有bin,pkg,src三个文件 cd src/ mkdir GolangStudy cd GolangStudy mkdir firstGolanggo程序执行: go run hello.go//如果想分两步执行: go build hello.go ./hello导入包的方式 import "f…...

[学习] GNSS信号跟踪环路原理、设计与仿真(仿真代码)

GNSS信号跟踪环路原理、设计与仿真 文章目录 GNSS信号跟踪环路原理、设计与仿真一、GNSS信号跟踪环路概述二、跟踪环路基本原理1. 信号跟踪的概念与目标2. 锁相环&#xff08;PLL&#xff09;原理3. 锁频环&#xff08;FLL&#xff09;原理4. 延迟锁定环&#xff08;DLL&#x…...

Python实例题:Python计算微积分

目录 Python实例题 题目 代码实现 实现原理 符号计算&#xff1a; 数值计算&#xff1a; 可视化功能&#xff1a; 关键代码解析 1. 导数计算 2. 积分计算 3. 微分方程求解 4. 函数图像绘制 使用说明 安装依赖&#xff1a; 基本用法&#xff1a; 示例输出&#…...

如何判断指针是否需要释放?

在 C 中判断一个指针是否需要释放可以考虑以下几个方面&#xff1a; 一、确定指针的来源 1. 动态分配的内存&#xff1a; 如果指针是通过new、new[]、malloc、calloc等动态内存分配函数获取的&#xff0c;那么在不再需要该内存时&#xff0c;必须手动释放。 例如&#xff1a…...

Spark 之 AQE

个人其他链接 AQE 执行顺序https://blog.csdn.net/zhixingheyi_tian/article/details/125112793 AQE 产生 AQE 的 循环触发点 src/main/scala/org/apache/spark/sql/execution/adaptive/AdaptiveSparkPlanExec.scala override def doExecute(): RDD[InternalRow] = {withFin…...

随访系统安装的记录

安装PG17.5 安装https://www.cnblogs.com/nulixuexipython/p/18040243 1、遇到navicat链接不了PG https://blog.csdn.net/sarsscofy/article/details/84985933 2、查看有无安装mysqlhttps://blog.51cto.com/u_16175430/7261412 3、 方案一&#xff1a;oracle不开日志 data…...

NLP学习路线图(二十四):门控循环单元(GRU)

一、背景:RNN的困境与门控机制的曙光 RNN的基本原理: RNN的核心思想是引入循环连接,使网络具有“记忆”功能。 在时刻 t,RNN接收当前输入 x_t 和前一个时刻的隐藏状态 h_{t-1}。 通过一个共享的权重参数(W, U, b)计算当前时刻的隐藏状态 h_t: h_t = tanh(W * x_t + U * …...

Doris查询Hive数据:实现高效跨数据源分析的实践指南

#### 1. Doris与Hive的集成背景 在大数据生态中&#xff0c;Hive作为基于Hadoop的数据仓库工具&#xff0c;广泛用于海量数据的批处理分析。而Apache Doris&#xff08;原百度 Palo&#xff09;是一种高性能、实时分析的MPP&#xff08;大规模并行处理&#xff09;数据库&…...

vsCode使用本地低版本node启动配置文件

npm run dev的配置文件 {"configurations": [{"type": "node-terminal","name": "项目运行: dev","request": "launch",//重点在这里 这行注释到时候删掉"command": "E:\\node-v14.21.…...

在Ubuntu上使用 dd 工具制作U盘启动盘

在Ubuntu上使用 dd 工具制作U盘启动盘 在Linux系统中&#xff0c;dd 是一个功能强大且原生支持的命令行工具&#xff0c;常用于复制文件和转换数据。它也可以用来将ISO镜像写入U盘&#xff0c;从而创建一个可启动的操作系统安装盘。虽然图形化工具&#xff08;如 Startup Disk…...