Doris初认识
文章目录
- Doris初认识
- 1. Doris 概述
- 2. 核心特性
- 3. 使用场景
- 4. 架构
1. Doris 概述
-
Apache Doris 是由百度大数据部研发(之前叫
百度 Palo
,2018 年贡献到 Apache 社区后,更名为 Doris ),在百度内部,有超过 200 个产品线在使用,部署机器超过 1000 台,单一业务最大可达到上百 TB。 -
Apache Doris 是一个现代化的 MPP(Massively Parallel Processing,即大规模并行处理) 分析型(
OLAP
)数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。 -
Apache Doris 的分布式架构非常
简洁
,易于运维,并且可以支持10PB
以上的超大数据集。 -
Apache Doris 可以满足多种
数据分析
需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。
经过各种数据整合和处理,数据源通常被存储在实时数据仓库Doris和离线数据湖或数据仓库(在Apache Hive、Apache Iceberg或Apache Hudi中)。
2. 核心特性
- 现代化
MPP
架构 秒级
查询返回延时- 支持
标准SQL
语言,兼容MySQL协议 - 向量化执行器
- 高效的检验和表技术
- 新型
预聚合
技术Rollup - 优点:
高性能
、高可用
、高可靠
- 极其方便运维,
弹性伸缩
3. 使用场景
报表分析
- 实时看板 (
DashBoards
) - 面向企业内部分析师和管理者的报表
- 面向用户或者客户的高并发报表分析(Customer Facing Analytics)。比如面向网站主的站点分析、面向广告主的广告报表,并发通常要求成千上万的 QPS ,查询延时要求毫秒级响应。
- 实时看板 (
即席查询
:面向分析师的自助分析,查询模式不固定,要求较高的吞吐。统一数仓构建
:一个平台满足统一的数据仓库建设需求,简化繁琐的大数据软件栈。海底捞基于 Doris 构建的统一数仓,替换了原来由 Spark、Hive、Hbase、Phoenix 组成的旧架构,架构大大简化。数据湖联邦查询
:通过外表的方式联邦分析位于 Hive、Hudi 中的数据,在避免数据拷贝的前提下,查询性能大幅提升
4. 架构
Doris 的架构很简洁,只设 FE(Frontend)前端进程、BE(Backend)后端进程两种角色、两个后台的服务进程,不依赖于外部组件,方便部署和运维,FE、BE 都可在线性扩展。
-
FE
(Frontend):存储、维护集群元数据;负责接收、解析查询请求,规划查询计划,调度查询执行,返回查询结果。主要有三个角色:-
Leader 和 Follower:主要是用来达到元数据的高可用,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务。
-
Observer:用来扩展查询节点,同时起到元数据备份的作用。如果在发现集群压力非常大的情况下,需要去扩展整个查询的能力,那么可以加 observer 的节点。observer 不参与任何的写入,只参与读取。
-
-
BE
(Backend):负责物理数据的存储和计算;依据 FE 生成的物理计划,分布式地执行查询。数据的可靠性由 BE 保证,BE 会对整个数据存储多副本或者是三副本。副本数可根据需求动态调整。 -
MySQL Client
:Doris 借助 MySQL 协议,用户使用任意 MySQL 的 ODBC/JDBC 以及 MySQL 的客户端,都可以直接访问 Doris。 -
Broker
:一个独立的无状态进程。封装了文件系统接口,提供 Doris 读取远端存储系统中文件的能力,包括 HDFS,S3,BOS 等。
Doris介绍全文结束!