基数估计

本文介绍基数估算技术,一种在大数据环境中高效统计不同元素数量的方法。利用概率算法,即使面对海量数据也能在有限内存中准确评估基数,如独立IP数量。文中列举了LogLog Counting、Adaptive Counting及HyperLogLog等算法,并提供了淘宝工程师的应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基数就是,给一个数组,计算不同的数字的个数就是基数。 下面这些算法当数组非常大的时候,用概率的办法用很小的空间和误差估计大概的基数是多少。 想下面这个文档说的,用1.5kb的空间估算十亿个数字的基数。  淘宝工程师文档提到的一个应用就是统计访问一个链接的独立ip的数目。为每个连接分配一个基数估计需要的空间,然后把不同的ip和cookie之类的通过哈希函数,映射为一个数值。最后就是转换成基数估计问题。得到的基数就是独立ip数目。 Adaptive Counting论文说是应用于网络包内容的来源的统计,检测ddos攻击。  



淘宝开源的库

https://github.com/chaoslawful/ccard-lib


给出的引用相关论文

LogLog Counting and Adaptive Counting

  • Min Cai, Jianping Pan, Yu K. Kwok, and Kai Hwang. Fast and accurate traffic matrix measurement using adaptive cardinality counting. In MineNet ’05: Proceedings of the 2005 ACM SIGCOMM workshop on Mining network data, pages 205–206, New York, NY, USA, 2005. ACM.

  • Marianne Durand and Philippe Flajolet. LogLog counting of large cardinalities. In ESA03, volume 2832 of LNCS, pages 605–617, 2003.

http://gridsec.usc.edu/files/TR/TR-2005-12.pdf  这里可以找到

Linear Counting

  • K.-Y. Whang, B. T. Vander-Zanden, and H. M. Taylor. A Linear-Time Probabilistic Counting Algorithm for Database Applications. ACM Transactions on Database Systems, 15(2):208-229, 1990.

HyperLogLog Counting
  • P. Flajolet, E. Fusy, O. Gandouet, and F. Meunier. Hyperloglog: The analysis of a near-optimal cardinality estimation algorithm. Disc. Math. and Theor. Comp. Sci., AH:127-146, 2007.

http://algo.inria.fr/flajolet/Publications/FlFuGaMe07.pdf  这里可以找到



淘宝工程师写的介绍系列文章的第一篇

解读Cardinality Estimation算法(第一部分:基本概念)

http://www.codinglabs.org/html/algorithms-for-cardinality-estimation-part-i.html



微博上好像是从csdn翻译这篇文章开始讨论这个话题的。

Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5KB Of Memory

http://highscalability.com/blog/2012/4/5/big-data-counting-how-to-count-a-billion-distinct-objects-us.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值