当前位置:   article > 正文

Doris--基础--1.2--理论--OLTP、OLAP,HTAP_doris htap

doris htap

Doris–基础–1.2–理论–OLTP、OLAP,HTAP


1、概念

  1. OLTP(On-Line Transaction Processing):联机事务处理
  2. OLAP(On-Line Analytical Processing):联机分析处理
  3. HTAP(Hybrid Transactional(混合事务)/Analytical Processing):混合事务分析处理

在这里插入图片描述

1.1、OLTP

  1. 操作型处理,主要目标是做数据处理,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。

  2. 用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。

  3. OLTP示例:传统的关系型数据库系统(RDBMS),主要用于操作型处理。

在这里插入图片描述

1.2、OLAP

  1. 分析型处理,主要目标是做数据分析。
  2. 一般针对某些主题的历史数据进行复杂的多维分析,支持管理决策。
  3. OLAP示例:数据仓库,主要用于数据分析。

在这里插入图片描述

1.3、HTAP

  1. 基于创新的计算存储框架
  2. HTAP 数据库能够在一份数据上同时支撑业务系统运行和 OLAP 场景,避免在传统架构中,在线与离线数据库之间大量的数据交互。
  3. 基于分布式架构,支持弹性扩容,可按需扩展吞吐或存储,轻松应对高并发、海量数据场景。
  4. HTAP示例
    1. PingCAP 的 TiDB(是国内首家开源的 HTAP 分布式数据库)
    2. 阿里云的 HybridDB for MySQL
    3. 百度的 BaikalDB

2、OLTP、OLAP对比

在这里插入图片描述

在这里插入图片描述

2.1、补充–查询对比

  1. OLTP的查询:一般只会访问少量的记录,且大多时候都会利用索引。比如最常见的基于主键的 CRUD 操作
  2. OLAP的查询:一般需要 Scan 大量数据,大多时候只访问部分列,聚合的需求(Sum,Count,Max,Min 等)会多于明细的需求(查询原始的明细数据)

3、OLAP引擎分类

3.1、分类

按数据存储格式划分如下

  1. MOLAP(Multi-dimensional OLAP)
  2. ROLAP(Relational OLAP)
  3. HOLAP(Hybrid OLAP)。

在这里插入图片描述

3.1.1、MOLAP

  1. 基于多维数组的存储模型,也是OLAP最初的形态
  2. 通过预计算,提供稳定的切片数据,实现多次查询一次计算,减轻了查询时的计算压力,保证了查询的稳定性,是"空间换时间"的最佳路径。实现了基于Bitmap的去重算法,支持在不同维度下去重指标的实时统计,效率较高。
  3. 开源产品:Kylin、Druid

3.1.2、ROLAP

  1. 完全基于关系模型进行存储数据,不需要预计算,按需即时查询。明细和汇总数据都保存在关系型数据库事实表中。
  2. 基于实时的大规模并行计算,对集群的要求较高。MPP引擎的核心是通过将数据分散,以实现CPU、IO、内存资源的分布,来提升并行计算能力。在当前数据存储以磁盘为主的情况下,数据Scan需要的较大的磁盘IO,以及并行导致的高CPU,仍然是资源的短板。因此,高频的大规模汇总统计,并发能力将面临较大挑战,这取决于集群硬件方面的并行计算能力。传统去重算法需要大量计算资源,实时的大规模去重指标对CPU、内存都是一个巨大挑战。目前Doris最新版本已经支持Bitmap算法,配合预计算可以很好地解决去重应用场景。

3.1.3、HOLAP

  1. 混合模型,细节数据以ROLAP存放,聚合数据以MOLAP存放。
  2. 这种方式相对灵活,且更加高效。

3.2、OLAP引擎对比

在这里插入图片描述

3.2.1、小结

  1. 数据压缩率Clickhouse好
  2. ClickHouse单表查询性能优势巨大
  3. Join查询两者各有优劣,数据量小情况下Clickhouse好,数据量大Doris好
  4. Doris对SQL支持情况要好

3.3、MOLAP模式 和 ROLAP模式 对比

3.3.1、MOLAP模式的劣势(以Kylin为例)

  1. 应用层模型复杂,根据业务需要以及Kylin生产需要,还要做较多模型预处理。这样在不同的业务场景中,模型的利用率也比较低。
  2. 由于MOLAP不支持明细数据的查询,在"汇总+明细"的应用场景中,明细数据需要同步到DBMS引擎来响应交互,增加了生产的运维成本。
  3. 较多的预处理伴随着较高的生产成本。

3.3.2、ROLAP模式的优势

  1. 应用层模型设计简化,将数据固定在一个稳定的数据粒度即可。比如商家粒度的星形模型,同时复用率也比较高。
  2. App层的业务表达可以通过视图进行封装,减少了数据冗余,同时提高了应用的灵活性,降低了运维成本。
  3. 同时支持"汇总+明细"。
  4. 模型轻量标准化,极大的降低了生产成本。

3.3.3、小结

  1. 综上所述,在变化维、非预设维、细粒度统计的应用场景下,使用MPP引擎驱动的ROLAP模式,可以简化模型设计,减少预计算的代价,并通过强大的实时计算能力,可以支撑良好的实时交互体验。
  2. doris是一个ROLAP引擎,可以满足:灵活多维分析、明细+聚合、主键更新
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/750939
推荐阅读
相关标签
  

闽ICP备14008679号