基于sketch的网络监控

Posted by My Blog on June 29, 2020

sketch算法为什么流行

常规内存算法构建的网路监控系统存在以下问题:

  1. 过多的资源需求(如,CPU,ASIC,内存等)
  2. 大规模不可行
  3. 处理数据太慢而无法满足要求

以sketch算法构建更高效的联网系统工具。

In particular, I am interested in data sketching and sampling which lies in the intersection of statistics and databases. These are methods to summarize big data into memory efficient summarizations that can still answer a broad set of questions.

基于采样sampling和草图的数据压缩方法可以减少存储消耗,就像机器学习方法在特征选择或模型选择策略上的应用。一个挑战是我们不知道未来数据会如何被使用

sketch与大流检测

sketch自身是一种统计数量的概率型结构,可以方便实现对元素的数量估计。如果将其用于大流统计,是存在一些问题

传统sketch

传统的sketch(如count-min等)高效但不可逆,无法从sketch自身结构恢复大流,只能通过遍历所有流的方式查询是否存在重流,会带来大量的查询开销。

带额外数据结构的sketch

  • 典型的如count-min-heap. 在count-min上增加一个堆来记录重流
  • LD-sketch