在更新场景下,Doris 采用标记删除(Delete Bitmap)方式加速查询性能。与 Merge-on-Read 的实现相比,标记删除能够避免在查询时进行大量的删除逻辑计算,从而减少查询延迟并提升整体性能,确保查询响应时间低于百毫秒,并支持高并发访问。
此外,Doris 基于以下几项技术,进一步提升了查询性能:
分区和分桶裁剪技术: 智能跳过无关数据,进一步优化数据扫描过程,减少不必要的数据读取,显著提高查询效率。
向量化技术: 在处理大规模数据时,通过批量化处理多个数据操作,减少 CPU 的上下文切换,显著提升数据处理速度,尤其适用于大数据量的查询场景。
优化器: 通过智能的查询计划选择和执行,自动根据查询条件调整最佳执行路径,避免不必要的计算开销,进一步提高查询响应速度。
丰富的索引:包括点查索引和跳数索引。点查索引常用于加速点查,包括前缀索引和倒排索引,原理是通过索引定位到满足 WHERE 条件的有哪些行,直接读取那些行。跳数索引常用于加速分析,包括 ZoneMap 索引、BloomFilter 索引、NGram BloomFilter 索引,原理是通过索引确定不满足 WHERE 条件的数据块,跳过这些不满足条件的数据块,只读取可能满足条件的数据块并再进行一次逐行过滤,最终得到满足条件的行。
这些技术的结合使得 Doris 在高并发环境下能够保持稳定的低延迟,确保其在秒级和毫秒级查询性能上表现出色,满足实时数据处理的严格要求。