数据-OLTP、OLAP

2023-10-21 13:28
文章标签 数据 olap oltp

本文主要是介绍数据-OLTP、OLAP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、概念

1.1 OLTP(online transaction processing-联机事务处理)

       它强调对数据的实时处理。OLTP系统通常用于处理企业的日常交易数据,例如订单处理、库存管理、银行交易等。它的主要功能是支持事务和实时数据处理,为用户提供高效的交易处理服务。

        在商业数据处理的早期阶段,写入数据库通常对应于商业的交易场景,如: 销售,订单等涉及金钱交易的场景,交易的英文为transaction,也就是事务一词的来源,在计算机领域代表一个逻辑单元的一组读写操作。

1.2 OLAP(online analytic processing-联机分析处理)

       它强调对大量历史数据的分析与处理。OLAP系统通常用来查询多维数据库,以便观察数据的多个维度之间的关系,并进行复杂的计算和汇总。它的主要功能包括查询、分析、预测、数据挖掘等,为用户提供灵活的数据分析和快速决策支持。

        例如: 统计每个店铺平均销售额,这些查询通常由业务分析师编写,以形成有助于公司管理层更好的决策;为了与事务处理系统进行区分,我们称之为在线分析处理(OLAP)。

2、区别

2.1 OLTP VS OLAP

属性

事务处理 OLTP

分析系统 OLAP

主要读特征

基于键查询,每次查询返回少量记录

对大量记录进行汇总

主要写特征

随机访问,写入要求低延时

批量导入(ETL)或事件流

适用场景

终端用户,通过网络应用程序

内部数据分析师,为决策提供支持

数据表征

数据的最新状态(当前时间点)

随时间推移的历史事件

数据规模

GB ~ TB

TB ~ PB

        最开始的时候,相同的数据库可以同时用于事务处理和分析查询,但是后来大公司开始慢慢放弃使用OLTP系统用于数据分析,而是使用单独的数据库进行分析,这个单独的数据库也被称为数据仓库。 

2.2 功能区别

        OLAP聚焦于数据分析和预测,为使用者提供数据挖掘和多维分析等功能,通过复杂的计算和统计分析来发现数据背后的规律。

        而OLTP更注重交易数据的实时处理,支持并发的事务处理和数据插入、更新、删除等操作。

2.3 数据处理区别

        OLAP通常处理大规模的历史数据,它需要快速的数据查询和复杂的统计计算,以满足用户对数据多维分析的需求。

        OLTP则处理实时的事务数据,它需要高效的事务处理和快速的数据录入,以保证日常交易的正常运行。

2.4 数据结构区别

        OLAP采用多维数据库结构,通过维度、度量、层次等数据元素来组织和管理数据,以便进行复杂的查询和分析。

        而OLTP通常采用关系数据库结构,通过表和关系来存储和管理交易数据,以支持事务的正确处理。

2.5 应用场景区别

        OLAP适用于需要进行复杂数据分析和决策的场景,例如市场营销分析、销售业绩分析、客户关系管理等。

        OLTP适用于需要进行实时数据处理和高并发事务处理的场景,例如在线交易管理、订单处理、支付结算、网银系统、电信系统、医院挂号系统、机场航班管理系统等。

3、OLAP

        随着互联网的快速发展,数据分析已成为企业决策的重要手段。但要想做好数据分析,就必须掌握数据采集、数据处理、数据分析等技术。

3.1 数据采集

        数据采集是指从各种渠道收集和获取原始数据的过程。来源如下

  • 数据库:业务数据。
  • 日志文件用户行为数据和系统运行数据。
  • Web爬虫:网络公开信息。
  • API接口:第三方提供的信息。
  • 硬件信息:
    • 传感器:监测各种物理量(如温度、湿度、压力等)。
    • 移动设备:移动设备(如智能手机、平板电脑等)产生大量的位置、行为和用户反馈数据。

 3.2 数据处理

        数据处理是指对原始数据进行清洗和整理,使其符合后续分析需要的格式和要求。这个过程最重要,往往耗时也最长。

处理内容

  • 数据清洗:对原始数据进行去重、去噪、填充缺失值等操作,保证数据的准确性和完整性。
  • 数据转换:将原始数据转换成可分析的格式,如将文本转换成数字、将时间格式标准化等。
  • 数据集成:将来自不同渠道的数据进行整合,形成一个统一的数据集。
  • 数据规约:对数据进行命名、编码、单位标准化等处理,保证数据的标准性和一致性。

前提

        数据处理的前提是明确数据规则。数据规则包括数据的完整性、准确性、一致性和规范性等方面,这些规则对于后续的数据处理和分析具有重要的指导作用。

        例如,做报表首先要确定统计维度,可以先设计好报表的表结构。在数据清理过程中,需要确定哪些数据是不符合规则的,哪些数据是缺失的,哪些数据是不一致的等,然后根据这些规则对数据进行处理,使其符合数据挖掘或分析的要求。

3.3 数据分析

        数据分析是指对已经清洗整理好的数据进行分析和挖掘,从中发现有价值的信息和知识。

分析类型

  • 探索性数据分析(EDA):通过可视化手段对数据进行初步探索,了解其分布、趋势等特征。
  • 统计学方法:使用统计学方法对数据进行描述和推断,并验证假设。
  • 机器学习方法:使用机器学习算法对数据进行分类、聚类、预测等操作。
  • 数据可视化:通过图表、地图等手段将分析结果呈现出来,以便更好地理解和传播。

3.4 数据输出

        将分析的结果以直观易懂的形式输出,支持决策。

输出形式

  • 报表:OLAP系统可以生成各种报表,如销售报表、财务报告、库存报告等。报表可以展示多维度的数据,包括数据的汇总、过滤、切片等。
  • 图表:OLAP系统可以生成各种图表,如柱状图、折线图、饼图、热力图等。图表可以直观地展示数据的分布、趋势和关联关系。
  • KPI:关键绩效指标(KPI)是OLAP数据输出的一种重要方式。KPI可以反映企业的运营状况和业绩表现,如销售额、利润率、客户满意度等。
  • 仪表板:仪表板是一种综合性的数据展示方式,它可以集成多个数据源和多个维度的数据,以图形化的方式展示出来。仪表板可以直观地展示企业的运营状况,并提供即时的分析和预警。
  • 多维模型:多维模型是OLAP的核心技术之一,它可以展示多维度的数据。多维模型可以帮助用户从多个角度和维度分析数据,发现数据的隐藏模式和关联关系。
  • 数据挖掘:OLAP可以和数据挖掘技术结合使用,从大量数据中发现隐藏的模式、关联和趋势。数据挖掘的结果可以通过OLAP进行验证和细化,以提供更准确的分析结果。

4、总结

        数据仓库中的OLAP和OLTP是两种不同的数据处理方式,分别以数据分析和实时事务处理为核心。了解它们的区别有助于我们更好地选择合适的处理方式,并且在实际应用中可以发挥它们的优势。

参考:

简单谈谈OLTP,OLAP和列存储的概念-腾讯云开发者社区-腾讯云

百度安全验证

这篇关于数据-OLTP、OLAP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Nacos日志与Raft的数据清理指南

《Nacos日志与Raft的数据清理指南》随着运行时间的增长,Nacos的日志文件(logs/)和Raft持久化数据(data/protocol/raft/)可能会占用大量磁盘空间,影响系统稳定性,本... 目录引言1. Nacos 日志文件(logs/ 目录)清理1.1 日志文件的作用1.2 是否可以删除

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失

Python处理超大规模数据的4大方法详解

《Python处理超大规模数据的4大方法详解》在数据的奇妙世界里,数据量就像滚雪球一样,越变越大,从最初的GB级别的小数据堆,逐渐演变成TB级别的数据大山,所以本文我们就来看看Python处理... 目录1. Mars:数据处理界的 “变形金刚”2. Dask:分布式计算的 “指挥家”3. CuPy:GPU

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue