数据仓库与 OLAPFrontend / Backend
FE / BE 是什么?
FE 管元数据、解析 SQL、调度;BE 存数据、干活
类比:FE 是调度中心,BE 是车间
FE 做什么
接收请求、解析 SQL、生成执行计划、管理元数据和集群成员。FE 有三种角色:Leader(写元数据)、Follower(参与选举,读元数据)、Observer(只读,用来扩展查询并发)。
元数据存在 BDB JE 里,靠多数派保证一致,所以 FE 至少部署 3 个(1 Leader + 2 Follower)。
BE 做什么
存 tablet、执行查询 fragment、做 compaction。BE 是无状态的(数据有副本),挂了不影响元数据,副本会自动补齐。
为什么这么分
计算和元数据分离,扩查询并发就加 FE Observer,扩存储和算力就加 BE,两者互不干扰。这也是它比“单机 ClickHouse”更适合多租户报表平台的原因。