代码编织梦想

OLTP 和 OLAP 的区别?

OLTP(Online transaction processing)OLAP(Online analytical processing)

在线事务处理过程

在线分析处理过程
操作对象是数据库,数据量小操作对象是数据仓库,数据量大
数据模型为 实体-关系(ER)数据模型是 星型或雪花型
支持DML、DDL一般不支持更新和删除
作用于当前数据的行作用域当前及历史数据,涉及多表
专注于事务数据的增删改,侧重实时性专注于决策数据分析,侧重大数据量查询
数据来源于在线业务数据来源于各种 OLTP
通常采用规范化的设计,需要保证数据的完整性不需要太多规范化,可以存储冗余信息,采用多维数据模型
常见应用包括银行 ATM、在线订票系统、网上商城常见应用包括数据仓库、报表分析、商务智能

MySQL一般作为OLTP数据库使用,也能执行一些OLAP操作,但这不是MySQL擅长的领域。

由于OLTP操作比较简单,所涉及的表也少,因此不需要相应的数据库具有强大的执行优化能力。

        OLTP查询一般仅涉及单表,点查为主,返回的是记录本身或该记录的多个列。即使是范围查询,基本上也会通过limit来限制返回的记录数。

        而OLAP则不同,表中单条记录本身并不是查询所关心的,比较典型的特点包括有聚合类算子、涉及多表Join。这些操作都非常耗计算资源,而且数据仓库相比数据库在数据量上大很多,因此,OLAP类查询经常表现为cpu-bound而不是io-bound。

         OLAP的查询语句比OLTP更复杂,因为两者操作的数据集和目的不一样。数据库模型是2维的关系-实体模型(ER)。而数仓则是多维立方体模型(星型或雪花型)。

数据仓库

        OLAP对应的数据载体叫做数据仓库,因为它不是数据的生产者,其中的数据都是从其他地方搬运过来的,而搬运和清洗的过程就是ETL流程(Extract-Transform-Load,即数据抽取、转换和加载)。

数仓的数据来源归纳起来大体有3种:

  • 结构化数据:一般来自于数据库,比如MySQL等关系型数据库的表中保存的记录(rows)。即承担OLTP功能的数据载体。这类数据最好处理,因为数据表达方式作为规范,约束性最好;

  • 半结构化数据:该部分数据来源较多,包括用户行为日志(如app的页面访问记录)、平台或管理服务日志(tomcat、mysql等服务日志)等等,也包括存储于MongoDB等非关系型数据库中的记录(Docs等)。这些数据一般以Json或XML等形式存在,在ETL时难度较大。

  • 非结构化数据:包括图片、音频、视频和网页等,这些数据非常复杂,信息量也很大,一般不会直接抽取出来直接保存到数仓中,而是记录他们的元数据信息(metadata),以图片为例,可能保存该图片的产生时间、格式、大小等等,至于图片本身,一般通过url链接保存在对象或文件存储系统中。

数仓的作用有哪些?

  • 进行交互式/即席查询(ad-hoc);

  • 用于报表类查询(BI Reporting);

  • 进行数据分析类查询(Data Analytics);

  • 用于数据挖掘类查询(Data Mining);

数据在数仓中是如何组织的?

        数仓中数据的存在方式跟数仓索要发挥的作用息息相关,即该数仓要承载什么样的业务模型。基于业务模型设计对应的数据仓库的数据模型,进而针对性实现不同的ETL操作将外部数据经过不同程度的过滤、聚合等处理之后引入到数仓之中。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42538148/article/details/129669878

oltp与olap的区别-爱代码爱编程

项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步 OLTP和OLAP的区别 联机事务处理OLTP(on-li

分布式数据库tidb是如何结合oltp和olap的?_d_sj的博客-爱代码爱编程

TiDB是一款开源、云原生、MySQL兼容的分布式数据库,可以处理混合事务和分析处理(HTAP)工作负载。它是“NEWSQL”关系数据库的一员,被设计为方便大规模部署。也许有人想知道,“Ti”代表了钛。 PingCAP在三年半前才开始搭建TiDB,但是这个产品已经拥有了15000次GitHub点赞,200名贡献者,7200次提交,2000个分支以及300名

OLTP和OLAP有何区别?-爱代码爱编程

参考-beling不琳 联机事务处理(On-Line Transaction Processing,OLTP) 联机分析处理(On-Line Analytical Processing,OLAP) OLTP和OLAP主要区别有: 1、基本含义不同: OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,记录即时的增、删、改、查,比如在

OLTP和OLAP的区别(个人理解)-爱代码爱编程

在刚接触数据建模的时候,我对这两个概念也不是熟悉,只知道数据仓库中有olap类型的表,适合数据分析人员进行数据的上卷下钻(根据一定的维度属性进行数据统计)而一般的事务数据库的表类型是oltp,主要用于事务处理,后面慢慢了解之后才知道olap和oltp的区别。 oltp是On-Line Transaction Processing:联机事务处理,olap是

OLTP和OLAP的区别?-爱代码爱编程

写在前面 本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100个问题搞定大数据理论体系 解答 OLTP是传统关系型数据库的主要应用,其主要面向基本的、日常的事务处理,如银行交易; OLAP是数据仓库系统的主要应用,支持复杂的分析操作

oracle oltp和olap,OLTP与OLAP概念、主要区别和完美实践-爱代码爱编程

OLTP、OLAP、VDI和SPC-1是当前性能评估中常见的三类业务场景。SPC-1是业界通用的随机IOPS型的IO模型,在不清楚实际业务类型的条件下,常用此模型来进行性能评估。四种模型的简单IO特征如下表所示。 Oracle 数据库是典型的的OLTP业务模型,在核心 IT 业务系统中应用广泛,OLTP类型的 Oracle 数据库往往承载着企

oracle oltp和olap,OLTP和OLAP的区别-爱代码爱编程

OLTP和OLAP的区别 2013-04-10 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,以完成当前小事务处理为目的,例

OLTP和OLAP-爱代码爱编程

一、概念 On-Line Transaction Processing联机事务处理过程(OLTP),也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。 联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深

oltp和olap的区别;_`levie的博客-爱代码爱编程

定义 OLTP(On-Line Transaction Processing)为联机事务处理。 OLAP(On-Line Analytical Processing)为联机分析处理。 两者简单的区别为OLTP是做事务处理,OLAP是做分析处理。 站在数据库的操作层面来看,OLTP主要是对数据的增删改,侧重实时性,OLAP是对数据的查询,侧重大数

oltp vs olap 区别和联系_派可数据bi可视化的博客-爱代码爱编程

OLTP 和 OLAP 这两个概念在十来年前、十几年前商业智能BI这个词还不是那么普及的时候,还经常放在一起做比较,现在已经很少再单独拿出来做对比了,但也总还是有人会问到,我在这里大概讲下两个概念的差别和联系。 什么是OLTP 和 OLAP OLTP 英文全称是 Online Transaction Processing System,在线事务处理系统

备忘录模式-爱代码爱编程

备忘录模式(Memento Pattern),也叫快照(Snapshot)模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态;这样以后就可将该对象恢复到原先保存的状态。主要是用来防丢失、撤销、恢

mongodb 基础命令速查指南-爱代码爱编程

MongoDB 是一个广泛使用的 NoSQL 数据库,以其灵活的数据模型、易于扩展和高性能而受到开发者的喜爱。本文将提供 MongoDB 的一些基本命令,包括数据库操作、集合操作和文档操作等,以帮助开发者快速入门 Mongo

mysql和mariadb,它们有什么区别?-爱代码爱编程

目录 一、MySQL简介 二、MariaDB简介 三、什么是MariaDB? 四、为什么推出MariaDB? 五、主要区别 六、总结 在这篇文章中,我们将探讨MySQL和MariaDB之间的区别。两者都是开源的关系型数据库管理系统,但两者之间有一些关键的区别。我们将介绍这两个系统的历史,它们的主要特点和性能等。 一、MySQL

网络编程-爱代码爱编程

网络编程 网络编程一、什么是网络二、计算机网络三、网络编程四、网络模型(OSI模型)五、TCP/IP模型六、TCP\UDP协议七、IP八、Port端口九、InetAddress类十、网络编程10.1 Socket编程