Doris 的架构很简洁,只设 FE
(Frontend
)、BE
(Backend
)两种角色、两个进程,不依赖于外部组件,方便部署和运维,FE、BE 都可线性扩展。
✅ Frontend(FE
):存储、维护集群元数据;负责接收、解析查询请求,规划查询计划,调度查询执行,返回查询结果。主要有三个角色:
Observer
的节点。Observer
不参与任何的写入,只参与读取。✅ Backend(BE
):负责物理数据的存储和计算;依据 FE 生成的物理计划,分布式地执行查询。数据的可靠性由 BE 保证,BE 会对整个数据存储多副本或者是三副本。副本数可根据需求动态调整。
✅ MySQLClient:Doris 借助 MySQL 协议,用户使用任意 MySQL 的 ODBC / JDBC 以及 MySQL 的客户端,都可以直接访问 Doris。
✅ Broker:Broker 为一个独立的无状态进程(是 Doris 集群中的一种可选进程)。封装了文件系统接口,提供了 Doris 读取远端存储系统中文件的能力,包括 HDFS,S3,BOS 等。