当前位置: 首页>后端>正文

Doris简介

概述

Apache Doris(原Palo,后更名Doris,非DorisDB)是一个MPP(massively parallel processing,即大规模并行处理)分析型数据库产品(OLAP)。仅需亚秒级响应时间即可获得查询结果,有效支持实时数据分析。同类型产品有clickhouse和greenplum。
其分布式架构非常简洁,易于运维,可以支持10PB以上的超大数据集。
可以满足多种数据分析需求,如固定历史报表,实时数据分析,交互式数据分析,探索式数据分析。

Doris简介,第1张

doris本身有自己的一套sql语法,容易上手,spark,flink都可以用,还可以通过odbc对数据库做一个外表(如mysql的数据可以映射给doris直接操作)
参考:

https://cloud.tencent.com/developer/article/2164850

架构

Doris简介,第2张

Doris架构很简单,只有FE(Frontend)、BE(Backend)两种角色、两个进程,不依赖于外部组件(不需要什么hadoop,yarn,hdfs,只需要自己安装就够了),方便部署和运维,FE、BE都可线性扩展。(不像Hive是个数仓工具框架,底层执行引擎要么MR,要么spark,要么tez,存储是依赖于hdfs)

  • FE(Frontend):存储、维护集群的元数据;负责接收、解析查询请求,规划查询计划,调度查询执行,返回查询结果。
    主要有三个角色:
    Leader和Follower:主要是用来达到元数据的高可用,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务。跟zookeeper底层设计有点像,也是paxos协议。Leader可以当作是特殊的Follower。
    Observer(观察者):用来扩展查询节点,同时起到元数据备份的作用。如果在发现集群压力非常大的情况下,需要去扩展整个查询的能力,那么可以加observer节点(不用加follower)。observer不参与任何的写入,只参与读取。也不参与Leader和Follower的选举。

  • BE(Backend):负责物理数据的存储和计算,依据FE生成的物理计划,分布式地执行查询。
    数据的可靠性由BE保证,BE会对整个数据存储多副本或三副本。副本数可以根据需求动态调整。

  • MySQL Client
    Doris借助MySQL协议,用户使用任意MySQL的ODBC/JDBC以及MySQL的客户端,都可以直接访问Doris。如mysql -u xxx -p -P 9030(默认端口9030)。

  • Broker
    Broker是一个独立的无状态进程。封装了文件系统接口,提供Doris读取远端存储系统中文件的能力,包括HDFS,S3,BOS等。理解为导入的功能模块。

视频来源

https://www.bilibili.com/video/BV15S4y1h7Kt?p=2&vd_source=adbe4dade12efbb9aa6895c308f74a54

https://www.xamrdz.com/backend/3nr1924597.html

相关文章: