SF-sketch:一种用于数据流的双阶段草图
数据结构与算法
2017-02-08 v3
摘要
草图(sketch)是一种用于记录多重集中元素出现频率的概率数据结构。草图(sketch)广泛应用于各个领域,尤其是涉及处理和存储数据流的领域。在具有高数据速率的流应用中,草图(sketch)会非常快速地“填满”。因此,其内容被周期性地传输到负责回答查询的远程收集器。在本文中,我们提出了一种称为 Slim-Fat (SF) sketch 的新草图,与现有技术相比,它具有显著更高的精度、小得多的内存占用,同时达到与最佳现有草图相同的速度。我们提出的 SF-sketch 背后的关键思想是维护两个独立的草图:一个称为 Slim-subsketch 的小草图和一个称为 Fat-subsketch 的大草图。Slim-subsketch 被周期性地传输到远程收集器以快速准确地回答查询。而 Fat-subsketch 不被传输到远程收集器,因为它仅用于在插入和删除过程中辅助 Slim-subsketch,而不用于回答查询。我们实现并广泛评估了 SF-sketch 以及几种现有草图,并进行了并列比较。我们的实验结果表明,就精度而言,SF-sketch 优于使用最广泛的 CM-sketch 高达 33.1 倍。我们已在 Github 上发布了我们提出的草图以及现有草图的源代码。本文的简短版本将出现在 ICDE 2017 中。
引用
@article{arxiv.1701.04148,
title = {SF-sketch: A Two-stage Sketch for Data Streams},
author = {Tong Yang and Lingtong Liu and Yibo Yan and Muhammad Shahzad and Yulong Shen and Xiaoming Li and Bin Cui and Gaogang Xie},
journal= {arXiv preprint arXiv:1701.04148},
year = {2017}
}