sketch算法为什么流行
常规内存算法构建的网路监控系统存在以下问题:
- 过多的资源需求(如,CPU,ASIC,内存等)
- 大规模不可行
- 处理数据太慢而无法满足要求
以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