Doris count 的精确去重
去重的常规的方法
- 堆机器
- Cache
- 优化 CPU 执行引擎 (向量化,SIMD,查询编译等)
- 支持 GPU 执行引擎
- 预计算
聚合指标必须支持上卷,去重指标要支持上卷聚合,就必须保留明细,不能只保存一个最终的去重值,所以考虑引入bitmap
优点:
1,查询时io,cpu,内存,网络资源显著减少,不会随着数据规模线性增加
存在的问题
1,内存和存储的消耗
2,只支持int类型
解决的办法
1,压缩,业界普遍采用的bitmap库是Roaring Bitmap
Roaring Bitmap 核心思路,就是根据数据的不同特征采用不同的存储或者压缩方式