OLTP、OLAP、HTAP
OLTP
OLTP(On-Line Transaction Processing),即联机事务处理
产品:Mysql、Oracle、Redis、Hbase
OLAP
OLAP(On-Line Analytical Processing),联机分析处理
OLAP系统按照其存储器的数据存储格式可以分为:关系OLAP(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和混合型OLAP(HybridOLAP,简称HOLAP)三种类型。
- ROLAP:ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图作为表也存储在关系数据库中。不必要将每一个SQL查询都作为实视图保存,只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。对每个针对OLAP服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时用作ROLAP存储器的RDBMS也针对OLAP作相应的优化,比如并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展(cube,rollup)等等。
- MOLAP:MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。维的属性值被映射成多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。由于MOLAP采用了新的存储结构,从物理层实现起,因此又称为物理OLAP(PhysicalOLAP);而ROLAP主要通过一些软件工具或中间软件实现,物理层仍采用关系数据库的存储结构,因此称为虚拟OLAP(VirtualOLAP)。
- HOLAP:由于MOLAP和ROLAP有着各自的优点和缺点(如下表所示),且它们的结构迥然不同,这给分析人员设计OLAP结构提出了难题。为此一个新的OLAP结构——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP两种结构的优点结合起来。迄今为止,对HOLAP还没有一个正式的定义。但很明显,HOLAP结构不应该是MOLAP与ROLAP结构的简单组合,而是这两种结构技术优点的有机结合,能满足用户各种复杂的分析请求。
分类 | 介绍 | 产品 | 优点 | 缺点 |
---|---|---|---|---|
MOLAP |
以多维数组为存储模型的OLAP。 特点:数据预计算,然后把预计算结果“立方体”存到多维数组里。 |
Kylin Druid |
cube包含所有维度的聚合结果,所以查询速度非常快。 相对关系型数据库,计算结果数据的磁盘空间占用更小,扩展性强,适用于维度数量多的模型 |
对于维度多的模型预计算慢,空间占用大。update cube的时间跟计算维度(group)相关,随着维度增加计算时间大幅增加,此外预计算还会造成数据库占用急剧膨胀。需要提前设计维度模型,查询分析的内容仅限于这些指定维度,增加维度需要重新计算。 |
ROLAP | 基于关系模型存放数据,一般要求事实表和维度表按一定关系设计,它不需要预计算,使用标准SQL查询不同维度数据。 |
Elasticsearch Hive Spark SQL Flink SQL Presto Impala GreenPlum ClickHouse Doris |
更适合处理非聚合的数据,例如文本描述 基于row数据更容易做权限管理 |
因为是即时计算,查询响应时间一般比预计算的MOLAP长 |
HOLAP |
MOLAP和ROLAP类型的混合运用 细节的数据以ROLAP的形式存放,更加方便灵活,而高度聚合的数据以MOLAP的形式展现 |
更适合于高效的分析处理。公司使用HOLAP的目的是根据不同场景来利用不同OLAP的特性。 |
OLTP和OLAP对比
OLTP | OLAP | ||
---|---|---|---|
特征 | 功能 | 基本查询 | 分析决策 |
场景 | 简单事务 | 复杂查询 | |
用户 | 初级的 | 决策者/高级的 | |
用户数 | 上千个 | 上百万个 | |
架构 | 面向应用 | 面向主题 | |
数据 | 当前的,二维的 | 历史的,多维的 | |
存取 | 百千条 | 上百万条 | |
数据量 | MB ~ GB | GB、TD、PB、EB | |
产品 | 离线 | Mysql、Oracle | Hive、Presto |
实时 | Redis、Hbase | Druid、Kylin |
HTAP
产品:TiDB
参考
- OLTP、OLAP与HTAP中文、 OLTP, OLAP and HTAP英文
- https://thutmose.blog.csdn.net/article/details/108863376?spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15.pc_relevant_default&utm_relevant_index=20
- 大数据OLAP组件
- 大数据OLAP系统(1)、大数据OLAP系统(2)
- https://zhuanlan.zhihu.com/p/266402829
- https://slidetodoc.com/data-warehouse-is-403-chapter-5-olap-dr/
- https://www.stitchdata.com/resources/oltp-vs-olap/
- https://www.jamesserra.com/archive/2016/12/what-is-htap/
- https://pingcap.medium.com/delivering-real-time-analytics-and-true-htap-by-combining-columnstore-and-rowstore-1e006d3c3ef5
- https://www.oreilly.com/library/view/building-real-time-data/9781491975879/ch01.html
- https://www.ibm.com/cloud/blog/olap-vs-oltp
- https://www.geeksforgeeks.org/difference-between-olap-and-oltp-in-dbms/
- https://www.educba.com/olap-tools/