本篇来聊聊OLAPOLTP的区别以及它们各自的适用场景,以此话题为导引和大家聊聊技术视野与知识储备对于研发同学的重要性,最后站在事务处理与在线分析的角度分别论述下两个数据世界的底层构建逻辑。

OLAP、OLTP的概念与区别

概念

了解OLAP、OLTP的概念,识别各自适用场景,发挥各自的功能优势

场景 特点
OLTP 偏向数据存储数据事务性(ACID)、实时性
OLAP 偏向数据分析数据计算、聚合、转换

基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。应用在数据仓库,使用对象是决策者。OLAP系统强调的是数据分析,响应速度要求不高。

能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。主要应用是传统关系型数据库。OLTP系统强调的是内存效率,实时性比较高。

OLTP是基础能力,OLAP是更高层诉求

[](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/535aa8a6e6834eb18614f4903d735fe7~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.awebp?)

OLTP是基础能力,是必需品

如果用马斯洛需求理论来拆解和评析,OLTP一定是第一位的,是更为底层、基础的需求实现,它不仅要确保数据的事务性,还要提供数据的检索、变更能力等。

当系统构建满足了最基础的存储/检索需求后,从下到上是足够支撑业务正常运转的,业务发展是一个持续性过程,这其中的业务形态、收益效果需要OLTP场景积累的数据进行验证,而验证的过程其实就是数据筛选的过程,会把单点、离散的数据个体进行聚拢,从更高层次进行审视和分析,也正是因为这一数据查看视角的变化从一定程度上导致了OLTPOLAP核心点的转变。

OLAP是更高诉求,是进阶物

不知你是否会有疑问 ——— 在没有OLAP、大数据等概念、人们还没有开发出引以为豪的诸多配套组件的年代,较大数据量的分析和处理就没有办法做了吗?答案是NO!可以做,但是体验很不好。

刚毕业那会儿,我是在一家服务传统行业的公司工作,接触的客户也都是传统企业,一次在客户现场下班走,我看到客户开着电脑亮着大屏幕,我问下班为什么不关机呢?客户回答说他要导出数据,现在打开页面开始查,明天早上来的时候就可以看到结果了。这个场景真是既好笑又无奈,好笑的是这糟糕的服务性能让用户体验极差,无奈的是传统行业技术普遍比较过时落后最终也拖累业务。

技术视野与知识储备的重要性

上面这段有趣经历也引出了下面的话题,那就是技术视野的重要性,传统行业也好,个人知识储备也好,一个是从工作而言,另一个是从个人成长来讲,都需要去了解前沿的发展,学习优秀的实践,而不是闭门造车,在彷徨中继续彷徨。

开拓技术视野,方案设计不扭曲