请问OLTP与OLAP有什么区别?
网友回复
OLTP(on-line transaction processing)翻译为联机事务处理,是传统的关系型数据库,主要操作增删改查,强调事务一致性,比如银行系统、电商系统。
OLAP(On-Line Analytical Processing)翻译为联机分析处理,是仓库型数据库,主要是读取数据,做复杂数据分析,侧重技术决策支持,提供直观简单的结果。
从字面上来看OLTP是做事务处理,OLAP是做分析处理。
从对数据库操作来看,OLTP主要是对数据的增删改,OLAP是对数据的查询。
接着我们用图示,来理解一下列式数据库和行式数据库区别,在传统的行式数据库系统中(MySQL、Postgres 和 MS SQL Server),数据按如下顺序存储:

在列式数据库系统中(ClickHouse),数据按如下的顺序存储:

先说两者在存储方式上的不同:

再从应用上来看看OLTP与OLAP的区别。
OLTP主要用来记录某类业务事件的发生,如购买行为,当行为产生后,系统会记录是谁在何时何地做了何事,这样的一行(或多行)数据会以增删改的方式在数据库中进行数据的更新处理操作,要求实时性高、稳定性强、确保数据及时更新成功,像公司常见的业务系统如ERP,CRM,OA等系统都属于OLTP。
当数据积累到一定的程度,我们需要对过去发生的事情做一个总结分析时,就需要把过去一段时间内产生的数据拿出来进行统计分析,从中获取我们想要的信息,为公司做决策提供支持,这时候就是在做OLAP了。
因为OLTP所产生的业务数据分散在不同的业务系统中,而OLAP往往需要将不同的业务数据集中到一起进行统一综合的分析,这时候就需要根据业务分析需求做对应的数据清洗后存储在数据仓库中,然后由数据仓库来统一提供OLAP分析。
所以我们常说OLTP是数据库的应用,OLAP是数据仓库的应用,下面用一张图来简要对比。

所以OLAP和OLTP之间的关系可以认为OLAP是依赖于OLTP的,...
点击查看剩余70%
有没有免费让ai自动帮你接管操作电脑的mcp服务?
mcp为啥用Streamable HTTP 替代 HTTP + SSE?
scratchjr有没有开源的前端html网页版本源代码?
多模态大模型能否根据ui交互视频来来模仿写出前端交互动画效果ui代码?
如何用阿里云oss+函数计算fc+事件总线EventBridge+消息队列+数据库+redis缓存打造一个高并发弹性系统?
阿里云函数计算 FC如何在海外节点搭建一个代理网络?
ai studio中gemini build的代码如何发布到github pages等免费网页托管上 ?
如何在cursor、qoder、trae中使用Claude Skills功能?
有没有不用u盘就能重装系统的开源工具?
python如何固定摄像头实时计算停车场停车位剩余数量?


