基数统计的常用方法

应用场景: 如网站每个链接的用户点击数

传统方法:

      1.基于B-Tree的基数实现. 优点:查找,插入和内存之间非常平衡. 缺点:数据量特别巨大时,内存使用非常可观,而且不能方便的进行合并.

      2.基于bitmap的基数实现. 优点:运算效率非常高,且可以合并. 缺点:使用的内存与基数的上限有关,内存使用和集合数量无关.

基于概率的基数统计:

      1.Linear Counting: 需要内存仅为bitmap的1/10.空间复杂度:O(Nmax)

      2.LogLog Counting:空间复杂度:O(log2(log2(Nmax))). 优点:使用内存小 缺点:基数较小时,误差变大

      3.HyperLogLog Counting & Adaptive Counting . AC是LC和LLC的简单组合

原文地址:https://www.cnblogs.com/yimapingchuan/p/5408198.html