1 个回答
Doris中Bloom Filter的核心作用是通过概率性数据结构加速高基数列的等值查询和IN条件过滤,减少不必要的磁盘I/O扫描。其优势主要体现在以下三个层面:
1、高效过滤数据块,减少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属地:
我来回答
您需要 登录 后回答此问题!