数据岗位面试题更新 2026-08-05

请阐述 Apache Doris 的并行查询执行流程,并说明调整查询并行度(如 parallelism)对查询性能有哪些影响?

数据性能优化技术原理Apache Doris

考察说明

考查对 Doris 分布式查询引擎并行执行模型的理解及性能调优能力。

回答思路

  1. 【回答框架 1】Doris 的并行查询基于 MPP 架构,查询被拆分为多个 PlanFragment,由多个 BE 节点并行执行,每个 Fragment 内部又通过多线程实现算子级并行。
  2. 【回答框架 2】并行度主要由两个层面决定:节点间并行,通过数据分片(tablet)在多个 BE 间分布执行;节点内并行,通过设置并行度参数(如 parallel_fragment_exec_instance_num)控制单个 BE 上并行执行的实例数。
  3. 【回答框架 3】提高并行度能够更充分地利用多核 CPU 和 IO 资源,缩短查询响应时间,尤其对扫描、聚合、Join 等重算子效果明显。但并行度过高会带来调度开销、网络竞争和内存压力,可能导致性能下降。
  4. 【回答框架 4】实际调优需结合集群规模、数据分布、查询复杂度,通过压测确定最优并行度,并关注 CPU 使用率、内存使用和查询延迟等指标。
  5. 【关键点 1】Doris 查询执行采用 MPP 架构,多节点并行执行查询计划。
  6. 【关键点 2】并行度包括节点间并行(数据分片)和节点内并行(实例数)。
  7. 【关键点 3】适当提升并行度可显著提升查询性能,但过高会引发资源竞争和性能回退。
  8. 【关键点 4】调优需结合资源状况和压测,不能盲目设置。
  9. 【易错点 1】盲目增大并行度不一定提升性能,可能因线程切换和网络开销导致下降。
  10. 【易错点 2】忽略内存限制,并行度过高可能导致 OOM 或内存溢出。
  11. 【易错点 3】未区分节点间和节点内并行,调优方向错误。