searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Doris数据仓库介绍

2024-12-20 09:09:37
0
0

Doris(原百度Palo)是一款基于大规模并行处理(MPP)技术的分布式SQL数据库,也是一个高性能、实时的分析型数据库。以下是对Doris数据仓库的详细介绍:

一、产品定位与特点

  1. 产品定位:Doris是一款MPP架构的关系型分析数据库,主要面向PB级别的大数据集,提供秒级或毫秒级的查询响应。它主要用于多维分析和报表查询,支持SQL语言,并高度兼容MySQL。

  2. 主要特点

    • 高性能:Doris设计用于处理大规模数据,提供高并发和低延迟的查询性能。
    • 实时性:支持接近实时的数据更新和查询,适合需要快速响应的应用场景。
    • 易用性:支持SQL查询,与MySQL有较高的兼容性,便于用户上手和使用。
    • 可扩展性:可以通过增加更多节点来提升系统的处理能力,支持大数据量的处理。
    • 数据可靠性:内部自行管理数据的多副本和自动修复,保证数据的高可用和高可靠。

二、整体架构

Doris的架构非常简洁,只设FE(Frontend)和BE(Backend)两种角色、两个进程,不依赖于外部组件,方便部署和运维。

  1. FE(Frontend):负责元数据的管理、存储,以及查询的解析、规划和调度。FE节点接收用户的查询请求,解析并生成查询计划,然后调度BE节点执行查询并返回结果。
  2. BE(Backend):负责数据的存储和查询计划的执行。BE节点依据FE生成的物理计划,分布式地执行查询,并将结果返回给FE。

三、数据分布与存储

  1. 数据分布:在Doris中,用户的一张Table会拆成多个Tablet,Tablet会存成多副本,存储在不同的BE中,从而保证数据的高可用和高可靠。
  2. 存储方式:Doris采用列式存储,按列进行数据的编码压缩和读取,能够实现极高的压缩比,同时减少大量非相关数据的扫描,从而更加有效利用IO和CPU资源。

四、数据模型

Doris支持多种存储模型,针对不同的场景做了针对性的优化:

  1. Aggregate Key模型:相同Key的Value列合并,通过提前聚合大幅提升性能。适合有固定模式的报表类查询场景。
  2. Unique Key模型:Key唯一,相同Key的数据覆盖,实现行级别数据更新。主要面向留存分析或者订单分析的场景。
  3. Duplicate Key模型:明细数据模型,满足事实表的明细存储。适用于既没有聚合需求,又没有主键唯一性约束的原始数据的存储。

五、关键技术

  1. 索引结构:Doris支持丰富的索引结构,来减少数据的扫描。包括Z-order Index、Min/Max、Bloom Filter和Invert Index等。
  2. 物化视图:Doris支持强一致的物化视图,物化视图的更新和选择都在系统内自动进行,不需要用户手动选择,从而大幅减少了物化视图维护的代价。
  3. 查询引擎:Doris采用MPP的模型,节点间和节点内都并行执行,支持多个大表的分布式Shuffle Join,从而能够更好应对复杂查询。
  4. 动态调整执行计划:Doris采用了Adaptive Query Execution技术,可以根据Runtime Statistics来动态调整执行计划,比如通过Runtime Filter技术能够在运行时生成Filter推到Probe侧,从而大幅度减少Probe的数据量,加速Join性能。

六、使用场景

Doris广泛应用于各种需要高性能、实时查询和多维数据分析的场景,如用户行为分析、日志检索平台、用户画像分析、订单分析等。

综上所述,Doris是一款功能强大、性能卓越的分析型数据库,能够满足各种大数据分析和实时查询的需求。

0条评论
0 / 1000
每日知识小分享
742文章数
7粉丝数
每日知识小分享
742 文章 | 7 粉丝
原创

Doris数据仓库介绍

2024-12-20 09:09:37
0
0

Doris(原百度Palo)是一款基于大规模并行处理(MPP)技术的分布式SQL数据库,也是一个高性能、实时的分析型数据库。以下是对Doris数据仓库的详细介绍:

一、产品定位与特点

  1. 产品定位:Doris是一款MPP架构的关系型分析数据库,主要面向PB级别的大数据集,提供秒级或毫秒级的查询响应。它主要用于多维分析和报表查询,支持SQL语言,并高度兼容MySQL。

  2. 主要特点

    • 高性能:Doris设计用于处理大规模数据,提供高并发和低延迟的查询性能。
    • 实时性:支持接近实时的数据更新和查询,适合需要快速响应的应用场景。
    • 易用性:支持SQL查询,与MySQL有较高的兼容性,便于用户上手和使用。
    • 可扩展性:可以通过增加更多节点来提升系统的处理能力,支持大数据量的处理。
    • 数据可靠性:内部自行管理数据的多副本和自动修复,保证数据的高可用和高可靠。

二、整体架构

Doris的架构非常简洁,只设FE(Frontend)和BE(Backend)两种角色、两个进程,不依赖于外部组件,方便部署和运维。

  1. FE(Frontend):负责元数据的管理、存储,以及查询的解析、规划和调度。FE节点接收用户的查询请求,解析并生成查询计划,然后调度BE节点执行查询并返回结果。
  2. BE(Backend):负责数据的存储和查询计划的执行。BE节点依据FE生成的物理计划,分布式地执行查询,并将结果返回给FE。

三、数据分布与存储

  1. 数据分布:在Doris中,用户的一张Table会拆成多个Tablet,Tablet会存成多副本,存储在不同的BE中,从而保证数据的高可用和高可靠。
  2. 存储方式:Doris采用列式存储,按列进行数据的编码压缩和读取,能够实现极高的压缩比,同时减少大量非相关数据的扫描,从而更加有效利用IO和CPU资源。

四、数据模型

Doris支持多种存储模型,针对不同的场景做了针对性的优化:

  1. Aggregate Key模型:相同Key的Value列合并,通过提前聚合大幅提升性能。适合有固定模式的报表类查询场景。
  2. Unique Key模型:Key唯一,相同Key的数据覆盖,实现行级别数据更新。主要面向留存分析或者订单分析的场景。
  3. Duplicate Key模型:明细数据模型,满足事实表的明细存储。适用于既没有聚合需求,又没有主键唯一性约束的原始数据的存储。

五、关键技术

  1. 索引结构:Doris支持丰富的索引结构,来减少数据的扫描。包括Z-order Index、Min/Max、Bloom Filter和Invert Index等。
  2. 物化视图:Doris支持强一致的物化视图,物化视图的更新和选择都在系统内自动进行,不需要用户手动选择,从而大幅减少了物化视图维护的代价。
  3. 查询引擎:Doris采用MPP的模型,节点间和节点内都并行执行,支持多个大表的分布式Shuffle Join,从而能够更好应对复杂查询。
  4. 动态调整执行计划:Doris采用了Adaptive Query Execution技术,可以根据Runtime Statistics来动态调整执行计划,比如通过Runtime Filter技术能够在运行时生成Filter推到Probe侧,从而大幅度减少Probe的数据量,加速Join性能。

六、使用场景

Doris广泛应用于各种需要高性能、实时查询和多维数据分析的场景,如用户行为分析、日志检索平台、用户画像分析、订单分析等。

综上所述,Doris是一款功能强大、性能卓越的分析型数据库,能够满足各种大数据分析和实时查询的需求。

文章来自个人专栏
学习知识
31 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0