Doris 学习

  1. 知识点
    1. 概念、核心知识点
  1. MPP 架构:

MPP(Massively Parallel Processing)架构,即大规模并行处理架构,是一种分布式计算架构,它允许多个节点或处理器同时执行任务,以提高计算效率和处理速度。这种架构在大数据处理、数据仓库和分析等领域中非常常见,因为它能够有效地处理大量的数据和复杂的查询操作。

MPP架构的关键特点包括:

节点并行:在MPP架构中,数据被分布存储在多个节点上,每个节点都能够独立地执行计算任务。这样,当执行查询时,所有的节点可以并行地处理数据,从而显著提高整体的处理速度。

数据本地化:为了最大化并行处理的效率,MPP架构通常会尝试将计算任务分配给存储相关数据的节点。这种方式称为数据本地化,它可以减少数据在网络中的传输,从而降低延迟并提高性能。

无共享架构:MPP系统中的每个节点都是独立工作的,它们之间没有共享内存或存储。每个节点都有自己的内存和存储资源,这样可以避免节点之间的资源竞争,提高系统的稳定性和可扩展性。

弹性和容错性:MPP架构通常具备良好的弹性和容错性。系统可以通过增加更多的节点来扩展处理能力,同时,如果某个节点发生故障,系统可以重新分配任务到其他健康的节点上,保证系统的连续运行。

高性能分析:MPP架构特别适合进行复杂的分析查询,因为它可以并行执行多个计算密集型任务。这对于数据挖掘、机器学习和其他需要大量计算的应用场景非常有用。

在实际应用中,MPP架构被用于各种高性能计算场景,如Apache Doris等数据仓库系统就采用了MPP架构来提供快速的数据分析能力。通过这种方式,企业可以更有效地利用其数据资源,实现实时的业务洞察和决策支持。

  1. 向量化引擎:(列存储格式)

向量化引擎是一种数据处理技术,它通过将数据组织成列(向量)的形式来优化查询性能和资源利用效率。在传统的数据库系统中,数据通常以行(记录)为单位进行存储和处理。而在向量化引擎中,数据是按列存储的,每个列被视为一个独立的数据块,这样可以更有效地进行数据处理和压缩。 向量化引擎的主要优势包括:

内存效率:由于数据是按列存储的,向量化引擎可以利用现代CPU的SIMD(单指令多数据)功能,同时处理多个数据点,从而提高内存的使用效率。

执行速度:向量化查询可以减少CPU的指令数量,因为它们可以批量处理数据,而不是逐条记录处理。这种方式可以显著提高查询执行的速度。

减少I/O操作:向量化引擎在处理数据时,可以减少磁盘I/O操作的次数,因为它们可以更有效地加载和缓存列数据。

代码生成优化:向量化引擎可以在运行时动态生成针对特定查询的代码,这样可以进一步优化查询执行计划和性能。

并行处理:向量化引擎通常支持并行处理,可以充分利用多核处理器的能力,进一步提高数据处理的速度。 在Apache Doris等现代数据仓库系统中,向量化引擎是实现高性能分析查询的关键技术之一。通过使用向量化执行引擎,Doris能够提供快速、高效的数据分析能力,满足用户对实时大数据分析的需求。

  1. FE、BE:

Frontend(FE),主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。相当于 Hadoop 的 namenode

Backend(BE),主要负责数据存储、查询计划的执行。相当于 Hadoop 的 datanode。

  1. 数据模型

Aggregate模型 :聚合模型(优势及其局限性)

Unique模型 :唯一键模型(写时合并)

Duplicate模型 :明细模型

  1. 数据划分

Row & Column:行与列

Row:即用户的一行数据;

Column: 用于描述一行数据中不同的字段。Column 可以分为两大类:Key 和 Value。从业务角度看,Key 和 Value 可以分别对应维度列和指标列。Doris的key列是建表语句中指定的列,建表语句中的关键字'unique key'或'aggregate key'或'duplicate key'后面的列就是key列,除了key列剩下的就是value列。从聚合模型的角度来说,Key 列相同的行,会聚合成一行。其中 Value 列的聚合方式由用户在建表时指定。

Tablet & Partitio数据分片

用户数据被水平划分为若干个数据分片(Tablet,也称作数据分桶)。每个 Tablet 包含若干数据行。各个 Tablet 之间的数据没有交集,并且在物理上是独立存储的。多个 Tablet 在逻辑上归属于不同的分区(Partition)。一个 Tablet 只属于一个 Partition。而一个 Partition 包含若干个 Tablet。因为 Tablet 在物理上是独立存储的,所以可以视为 Partition 在物理上也是独立。Tablet 是数据移动、复制等操作的最小物理存储单元。多个Partition组合成一个Table。

分区分桶建议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值