开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
简介
Apache Doris,之前叫百度 Palo,2018年贡献到Apache社区后,更名为Doris。
是一个现代化到MPP(Massively Parallel Processing)分析型数据库产品
- 亚秒级的响应
- 架构简洁,易于运维
- 支持超大数据集(10PB以上)
满足多种数据分析需求
- 固定历史报表
- 实时数据分析
- 交互式数据分析
- 探索式数据分析
核心特性
- 现代化MPP架构
- 秒级查询返回延时
- 支持标准SQL语言,兼容MySQL协议
- 向量化执行器
- 高效的聚合表技术
- 新型预聚合技术Rollup
- 高性能、高可用、高可靠
- 极简运维、弹性伸缩
Doris架构
Doris的架构中只设有FE(Frontend)和BE(Backend)两种角色、两个进程,不依赖外部组件,切FE、BE都可以线性扩展,十分简洁,方便部署和运维。
FE(Frontend)
存储、维护集群元数据;负责接收、解析查询请求,规划查询计划,调度查询执行,返回查询结果。
其中有三个主要角色:
- Leader
- Follower
- Observer
Leader 和 Follower 主要是用来达到元数据的高可用,保证单节点宕机的情况下能够实时的在线恢复,而不影响整个服务。
Observer 用来扩展查询节点,同时起到元数据备份的作用。该角色不参与任何的写入,只参与读取,在发下集群压力很大的情况下可以加入该节点扩展整个查询能力。
BE(Backend)
负责无力数据的存储和计算;依据FE生成的物理计划,分布式地执行查询。
BE会对整个数据存储多副本。副本数可根据需求动态调整。因此,数据的可靠性由其进行保证。
MySQL Client
Doris借助 MySQL协议,用户使用任意MySQL 的ODBC/JDBC以及MySQL的客户端,都可以直接访Doris。
Broker
Broker为一个独立的无状态进程。封装来文件系统接口来提供Doris读取远端存储系统文件的能力,包括HDFS、S3、BOS等。