超级位图Roaring BitMap

基本概念

Roaring BitMap 以下简称 RBM,中文翻译为咆哮位图,它本质上是定义了一个很大的 bit 数组,每个元素对应到 bit 数组的其中一位,一个Integer是32-bit, 一共有Integer.MAX_VALUE = 2 ^ 32个值,32-bit的unsigned integer的集合(共2 ^ 32 = 42 9496 7296个)
这个数足够覆盖一款产品的user数或item数(item 泛指是新闻,商品等)
由定义可知,其去重是针对int 型数据进行操作,对于非Integer类型的数据(比如String类型)可以通过数据字典映射成Integer,比如数据库的ID

先来明确下Bit  Byte区别
bit(位/比特):计算机运算的基础单位;
byte(字节):计算机中文件大小的基本计量单位。

转换关系:
8 bit = 1 Byte
1024 Byte = 1 KB
1024 KB = 1 MB
1024 MB = 1 GB
1024 GB = 1 TB

 

未完待续······

 

参考:https://www.jianshu.com/p/b09bb3e7652e

 

posted @ 2020-03-18 00:08  架构之路  阅读(1360)  评论(0编辑  收藏  举报
========================================================================== 如果您觉得这篇文章对你有帮助,可以【关注我】或者【点赞】,希望我们一起在架构的路上,并肩齐行 ==========================================================================