超级位图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(字节):计算机中文件大小的基本计量单位。 转换关系: 8 bit = 1 Byte 1024 Byte = 1 KB 1024 KB = 1 MB 1024 MB = 1 GB 1024 GB = 1 TB
未完待续······
==========================================================================
如果您觉得这篇文章对你有帮助,可以【关注我】或者【点赞】,希望我们一起在架构的路上,并肩齐行
==========================================================================
==========================================================================