超級位圖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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM