
文章图片

文章图片
【数据仓库|OLTP vs OLAP 区别和联系】OLTP 和 OLAP 这两个概念在十来年前、十几年前商业智能BI这个词还不是那么普及的时候 , 还经常放在一起做比较 , 现在已经很少再单独拿出来做对比了 , 但也总还是有人会问到 , 我在这里大概讲下两个概念的差别和联系 。
什么是OLTP 和 OLAP
OLTP 英文全称是 Online Transaction Processing System , 在线事务处理系统 。 OLAP 英文全称是 Online Analytical Processing System , 在线分析处理系统 。 从名词上看差异就是一个是事务处理 , 一个是分析处理 。
这个名词从英文翻译过来还是有些生硬 , 换种简单的方式来理解 OLTP 就可以理解为日常的业务系统 , 比如像 ERP、OA、CRM 等等 , 这些业务系统主要是管理企业的基本业务流程 , 对数据的处理方式主要是以增、删、改为主 。 也有查询 , 但查询的SQL的结构相对比较简单 。
OLAP就可以理解为分析型系统 , 比如在商业智能BI应用中 , 支撑到前端可视化分析的数据仓库 。 商业智能BI底层使用到的数据库通常我们会称为数据仓库 , 数据仓库的主要目的一个是打通各个业务系统即OLTP的数据库 , 整合之后提供给前端商业智能BI可视化分析工具或者报表工具来使用 。
如果只是把商业智能BI定义为数据可视化或者可视化的工具 , 就有些过于狭义了 。 实际上商业智能BI不仅仅只包含数据可视化 , 更应该包含数据仓库 , 数据仓库是整个商业智能BI的核心部分 , 所以谈到OLAP的时候就一定会谈到商业智能BI 。
OLTP 和 OLAP的差异与联系
上面是一些基本的概念 , 再来具体说下两者的差异和联系 , 大概有六个点 。
第一 , 在底层数据处理层面 , OLTP 以SQL增删改处理为主 , OLAP以SQL查询操作为主 。 数据来源层面 , OLTP 的数据来源就是它们前端的应用 , 就是B/S架构或者C/S架构的 B Browser 浏览器或者 C Client , 就理解为用户在各种系统上录入数据就可以了 。
第二 , OLAP的数据来源就是不同的 OLTP数据库 , 所以OLAP本身是不产生数据的 , 通过ETL从OLTP抽取数据到OLAP数据库即数据仓库中做整合清洗达到可分析的数据标准 。
第三 , OLTP数据处理的时间相对较短 , 增、删、改操作 , 就像在页面上点击一个提交案例、下一步操作等等;但是OLAP数据处理的时间可能就会很长 , 比如一个大查询可能查询的数据量非常长 , 相对增删改时间周期会拉的更长一些 , 取决于OLAP数据结构的规范性以及返回数据量的大小 。
第四 , OLTP 也有查询操作 , 但查询的操作都相对比较简单;OLAP 的查询相对可以很复杂;
第五 , OLTP系统在底层数据库的设计上通常采用3NF设计方式 , 避免数据冗余 , 很适合频繁的增删改操作;OLAP系统主要是面向分析型应用准备的 , 因此在底层数据库即数据仓库的设计上通常会采用反三范式的方式 , 比如Kimball 的维度建模方式 , 刻意的保留数据冗余 , 很适合分析查询操作 。
当然 , 在OLAP系统底层数据仓库的架构中也有采用3NF建模的 , 主要目的是为了统一业务数据标准 , 但真正面向分析服务的时候还是会在3NF的基础上再构建一套反三范式的Kimball星型模型或者雪花型模型的数据架构 。
第六 , OLTP由于采用3NF建模 , 所以对数据的完整性要求很高 , 必须采用完整性约束 。 但是OLAP本身就不是面向业务交易信息的 , 不对业务过程负责 , 并且数据也不会频繁修改 , 所以是没有完整性约束这一说的 。 比如OLTP里面一个事务没有提交成功 , 或者失败了 , 事务是要回滚的 。 OLAP里面没有这种处理 , 跑不成功再重新跑一遍就可以了 。
- “通信行程卡”12月13日下线!中国信通院、三大运营商同步删除用户数据
- 食品安全|实时数据分析,亚略特边缘计算单元TrustBox赋能数字监管新模式建设
- 数据|行程卡用户原始数据依旧保留180天 运营商删除的是什么?
- 在平时办公中|excel表格中如何快速提取部分数据
- 在使用手机的过程中|如何彻底清除手机应用程序的数据
- 数据库原理及MySQL应用 | 日志管理(附限免视频)
- 早报|三大运营商将删除行程卡用户数据;囤积退烧药不对外售卖?叮当快药回应;地狱犬的病原性与BA.5相同或更低
- 通信运营商|同步三大运营商 中国广电5G宣布删除“通信行程卡”用户数据
- Windows|小米13全系机身数据曝光:陶瓷/玻璃/素皮全都有
- 埃斯顿|数据中心群雄争夺 国产芯悄然觉醒
