OLTP和OLAP有何区别?

OLTP和OLAP有何区别?,第1张

OLTP(on-linetransactionprocessing)翻译为联机事务处理。OLAP(On-LineAnalyticalProcessing)翻译为联机分析处理。

OLTP主要用来记录某类业务事件的发生,如购买行为,当行为产生后,系统会记录是谁在何时何地做了何事,这样的一行(或多行)数据会以增删改的方式在数据库中进行数据的更新处理 *** 作,要求实时性高、稳定性强、确保数据及时更新成功,像公司常见的业务系统如ERP,CRM,OA等系统都属于OLTP。

当数据积累到一定的程度,我们需要对过去发生的事情做一个总结分析时,就需要把过去一段时间内产生的数据拿出来进行统计分析,从中获取我们想要的信息,为公司做决策提供支持,这时候就是在做OLAP了。

因为OLTP所产生的业务数据分散在不同的业务系统中,而OLAP往往需要将不同的业务数据集中到一起进行统一综合的分析,这时候就需要根据业务分析需求做对应的数据清洗后存储在数据仓库中,然后由数据仓库来统一提供OLAP分析。所以我们常说OLTP是数据库的应用,OLAP是数据仓库的应用,下面用一张图来简要对比。

联机交易就意味着系统对外直接提供的交易,该类交易具有事务性——可回滚;实时性——交易有生命周期,并有超时机制等,调用方需实时等待被调方的反馈,成功或失败皆有反馈;并发性——同一类甚至同一个交易可同时被多个线程调用,相互间有锁处理机制。

批量处理则意味着该交易相关的参数、系统状态已经锁定,系统需要进行的是某一类 *** 作,该类 *** 作具有统一性——使用相同的规则处理大量数据;串行性——并不是说批量交易中不能有并发,而是有固定的步骤,先做哪一步,再做哪一步,每一步都有对某些条件的依赖;可重复性——这个不是必须的,但强烈建议批量程序在设计之初就考虑可重复运行,否则后续的运行与维护会带来诸多麻烦;

典型联机为取款交易,余额的查询(可能出现余额不足的情况)及更新、交易流水的生成、账户使用记录的生成、会计凭证的生成、存款及现金科目总账的登记、需要一次完成,如果其中某一步产生异常,则整个交易回退;典型的批量交易为对账交易,对账的先决条件为上一日的处理已经全部结束,系统需要的是对上一日处理结果的验证,验证的方式是设定一些筛选规则,检查是否有不符合规则的数据,如果有,将其自身及相关数据生成对账差错日志,供运营人员查询及处理,如果对账结果完全无误,则交易通过,进行下一个批量程序(比如生成日增量数据文件,发送给下游系统)。

批处理与流处理

在了解这两个概念之前先来了解一下下面的概念:

有边界数据和无边界数据

无边界数据,其实就是一种可增长,无限的数据集。我们也可以称他为”流数据(Streaming Data)“。

有边界数据,其实就是一种保存好了的数据,例如数据库中的数据或者csv中的数据等

拿我们之前的交易数据来说,如果按照一定的时间窗口,拿取一小部分数据,那么提取出来的数据也是有边界数据了。例如我提取2019年08月19日这天地数据来做处理,我们提取出来地这份数据就是有边界数据。

事件时间和处理时间

事件时间(Event Time)指的是一个数据实际产生的时间,处理时间(Precessing Time)指的是这条数据实际被处理数据的系统接收的时间。

联机业务就是 *** 作员的终端直接与主要相联,发生的业务数据立即(实时性)地进入到主机的数据库中去了。

比如储户存取款的 *** 作。

批量业务是指业务办理的数据先暂时保存在本地或本机,当积累到一定数量时,再连接主机或将存贮介质带到主机的所在地,把数据一次性倒入进行处理,它通过是用于不便或不能联机处理的业务,比较通讯条件不足,安全性不充分等。有的银行在办理xyk时,就不一定是联机处理的。而是先在本地办理申请,在本地将申请数据输入存贮在磁盘或光盘上,然后积累到一定量再送到总行一次性办理的,这就是批量业务。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9959885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存