
OLTP与OLAP的差异
系统类型 |
OLTP(在线交易系统) |
OLAP(联机分析系统),DW(数据仓库) |
数据来源 |
操作数据,OLTP通常是原始性数据源 |
联合型数据;OLAP数据来源于其他OLTP系统 |
数据用途 |
控制并运行基本的业务系统 |
辅助规划,问题解决以及决策支持 |
数据本质 |
揭示运行业务过程的某一个快照 |
多维度查看各类业务系统活动 |
插入与更新 |
简单并且快速 |
通过批量作业来更新大量数据 |
查询 |
相对规范化并且简单查询能很快返回结果 |
会涉及大量聚合操作,通常很复杂 |
处理速度 |
通常非常快 |
取决于数据量大小,批量作业以及复杂的查询可能需要数小时才能完成 |
空间需求 |
可能较小如果历史数据已经归档 |
因为存在聚合结构以及历史数据,通常数据量较大,并且比OLTP需要更多的索引 |
数据库设计 |
高度范式化 |
通常使用反范式化设计,星型转换使用较多 |
备份与恢复 |
操作系统数据对于业务系统的运行至关重要,必须经常性的备份,数据的丢失或者不一致不可接受 |
当对于常规的备份恢复,可以使用从OLTP数据源从新载入来作为恢复手段 |
越来越多的系统已经发展成为兼有OLTP与OLAP的混合型系统,这类系统的特征表现为白天为密集型实时性要求很高的在线交易,晚上则需要进行批量作业来生成报表。对于在线交易系统OLTP或者混合型应用而言,IOPS是一项非常重要的指标,因为OLTP应用涉及大量频繁的读写操作,需要更快的响应时间,要求更高的IOPS和更低的延迟。