龙空技术网

Apache Doris 开源MPP分析型数据库-入门介绍

软件架构 3447

前言:

而今小伙伴们对“apache数据库”可能比较关怀,朋友们都需要剖析一些“apache数据库”的相关资讯。那么小编同时在网络上网罗了一些关于“apache数据库””的相关知识,希望姐妹们能喜欢,咱们一起来学习一下吧!

一、Apache Doris概览

Apache Doris是一个现代化的MPP分析型数据库(OLAP)产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。

Doris 由百度大数据部研发 ( 之前叫百度 Palo,2018年贡献到 Apache 社区后,更名为 Doris ),在百度内部,有超过200个产品线在使用,部署机器超过1000台,单一业务最大可达到上百 TB。

Doris 主要整合了Google Mesa(数据模型),Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式,编码和压缩) 的技术。

二、Doris使用场景

下图是整个 Doris 的具体使用场景,可以接入多数据源,基于Doris引擎进行数据处理和存储,最后是一个可视化的呈现。

在数据分析处理框架中,Doris 主要做的是 Online 层面的数据服务,主要处理的是数据分析方面的服务。

Doris的特点:

同时支持高并发点查询和高吞吐的Ad-hoc查询同时支持离线批量导入和实时数据导入同时支持明细和聚合查询兼容MySQL协议和标准SQL支持Rollup Table和Rollup Table的智能查询路由支持较好的多表Join策略和灵活的表达式查询支持Schema在线变更支持Range和Hash二级分区

三、Doris 系统架构

Doris 的整体架构和 TiDB 类似,借助 MySQL 协议,用户使用任意 MySQL 的 ODBC/JDBC以及MySQL 的客户端,都可以直接访问 Doris。

Doris 中的模块包括 FE 和 BE 两类:FE 主要负责元数据的管理、存储,以及查询的解析等;一个用户请求经过 FE 解析、规划后,具体的执行计划会发送给 BE,BE 则会完成查询的具体执行。BE 节点主要负责数据的存储、以及查询计划的执行。

目前平台的 FE 部分主要使用 Java,BE 部分主要使用 C++。

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

FE 主要有三个角色,一个是 leader,一个是 follower,还有一个 observer。leader 跟 follower,主要是用来达到元数据的高可用,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务。

右边 observer 只是用来扩展查询节点,就是说如果在发现集群压力非常大的情况下,需要去扩展整个查询的能力,那么可以加 observer 的节点。observer 不参与任何的写入,只参与读取。

数据主要都是存储在 BE 里面,数据的可靠性由 BE 保证,BE 会对整个数据存储多副本或者是三副本。副本数可根据需求动态调整。

四、Doris 用户

Doris社区刚刚起步,社区活跃度比较低。目前核心用户是百度,还有小米和美团。

标签: #apache数据库