Bitmap
November 22, 2024About 1 min
Bitmap
对于这种大数据量去重的场景,我们可以考虑使用位图(Bitmap)。位图可以在不占用太多内存的前提下,解决海量数据的存在性问题,进而实现去重。
Bitmap是一种用于存储二进制数据的数据结构。简单来说,Bitmap就是使用二进制位来表示某个元素是否存在的数组。每一位只有两种状态,可以方便地用0和1来表示存在与不存在。
使用Bitmap的话,一个数字只需要占用1个bit。
Bitmap的常见应用场景如下:
- 去重:如果需要对一个大的数据集进行去重操作,可以使用Bloom Filter来记录每个元素是否出现过。比如爬给定网址的时候对已经爬取过的URL去重、对巨量的QQ号/订单号去重。
- 数据统计:Bitmap可以用来记录某些特定事件发生的情况,例如某个用户是否登录、某个用户是否点赞过某个视频等。
- 布隆过滤器:布隆过滤器是一种基于Bitmap的数据结构,主要用于判断一个元素是否存在于一个大的集合中。相遇Bitmap,占用的空间更少,但其结果不一定是完全准确的。