Doris中的Bloom Filter的作用是什么?

提问者:帅平 问题分类:面试刷题
Doris中的Bloom Filter的作用是什么?
1 个回答
雨落听船眠
雨落听船眠
Doris中Bloom Filter的核心作用是通过概率性数据结构加速高基数列的等值查询和IN条件过滤,减少不必要的磁盘I/O扫描。其优势主要体现在以下三个层面:
1、高效过滤数据块,减少I/O开销
假设日志表有request_id字段(基数超过1亿),查询WHERE request_id = 'abcd1234'时:
​无Bloom Filter​:需扫描所有数据块,逐个匹配该ID。
​启用Bloom Filter​:每个数据块生成对应的Bloom Filter,若该Bloom Filter判定request_id不在块中,则直接跳过扫描。实测显示,I/O量可减少70%以上。
2、加速Join操作
在Shuffle Join场景中,利用Bloom Filter提前过滤无效数据
3、低存储成本与高吞吐平衡
1亿基数字段的Bloom Filter仅需约120MB(误判率1%),而B-Tree索引可能占用GB级空间。
发布于:2周前 (05-21) IP属地:
我来回答