Doris学习笔记 ~ 初步认识Doris

728 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情

简介

Apache Doris,之前叫百度 Palo,2018年贡献到Apache社区后,更名为Doris

是一个现代化到MPP(Massively Parallel Processing)分析型数据库产品

  • 亚秒级的响应
  • 架构简洁,易于运维
  • 支持超大数据集(10PB以上)

image.png

满足多种数据分析需求

  • 固定历史报表
  • 实时数据分析
  • 交互式数据分析
  • 探索式数据分析

核心特性

  • 现代化MPP架构
  • 秒级查询返回延时
  • 支持标准SQL语言,兼容MySQL协议
  • 向量化执行器
  • 高效的聚合表技术
  • 新型预聚合技术Rollup
  • 高性能、高可用、高可靠
  • 极简运维、弹性伸缩

Doris架构

Doris的架构中只设有FE(Frontend)和BE(Backend)两种角色、两个进程,不依赖外部组件,切FE、BE都可以线性扩展,十分简洁,方便部署和运维。

image.png

FE(Frontend)

存储、维护集群元数据;负责接收、解析查询请求,规划查询计划,调度查询执行,返回查询结果。

其中有三个主要角色:

  1. Leader
  2. Follower
  3. Observer

LeaderFollower 主要是用来达到元数据的高可用,保证单节点宕机的情况下能够实时的在线恢复,而不影响整个服务。

Observer 用来扩展查询节点,同时起到元数据备份的作用。该角色不参与任何的写入,只参与读取,在发下集群压力很大的情况下可以加入该节点扩展整个查询能力。

BE(Backend)

负责无力数据的存储和计算;依据FE生成的物理计划,分布式地执行查询。

BE会对整个数据存储多副本。副本数可根据需求动态调整。因此,数据的可靠性由其进行保证。

MySQL Client

Doris借助 MySQL协议,用户使用任意MySQLODBC/JDBC以及MySQL的客户端,都可以直接访Doris

Broker

Broker为一个独立的无状态进程。封装来文件系统接口来提供Doris读取远端存储系统文件的能力,包括HDFS、S3、BOS等。