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

在 Apache Druid 中,为了支持高并发查询,系统采用了哪些核心机制?请列举并说明其关键优化手段。

数据系统设计技术原理Apache Druid

考察说明

考察对 Apache Druid 高并发查询架构和优化手段的理解。

回答思路

  1. 【回答框架 1】Druid 采用预聚合和列式存储,查询时只扫描相关列和聚合结果,减少 IO 和计算量。
  2. 【回答框架 2】Druid 将数据按时间分片并建立索引,查询时可快速定位到相关 segments,避免全表扫描。
  3. 【回答框架 3】Druid 使用 Broker 节点进行查询路由和合并,将查询下推到 Historical 节点并行执行,提升吞吐。
  4. 【回答框架 4】Druid 利用缓存(包括结果缓存和布隆过滤器)加速重复查询,并支持定期合并 segments 以优化布局。
  5. 【回答框架 5】Druid 支持水平扩展,通过增加 Historical 节点和调整 segment 分布来提升查询并发能力。
  6. 【关键点 1】预聚合和列式存储是减少查询扫描量的基础。
  7. 【关键点 2】时间分片和索引支持快速定位数据。
  8. 【关键点 3】Broker 节点负责分布式查询的并行执行和结果合并。
  9. 【关键点 4】结果缓存和布隆过滤器提升重复查询性能。
  10. 【关键点 5】水平扩展是应对高并发查询的主要方式。
  11. 【易错点 1】缓存一致性需要关注,数据更新时需及时失效缓存。
  12. 【易错点 2】过度依赖缓存可能导致数据不实时。
  13. 【易错点 3】不合理的数据分片会导致数据倾斜,影响扩展效果。