DataSketches Research Directions
https://datasketches.github.io/docs/Research.html
来源与雅虎的开源项目,翻译by Titanssword
结合自己研究方向,可合并摘要,分位数, k 均值聚类的流式算法, 有关图流处理算法, 有关滑动窗口流算法
Introduction
在分析海量数据集时,即使对数据进行非常基本的查询,也可能需要巨大的计算资源(内存和计算时间)。这种查询的例子包括识别频繁项目,唯一计数查询,分位数和直方图查询,矩阵分析任务(例如主成分分析和潜在语义分析)以及更复杂的下游机器学习任务。一旦数据量大了之后,这些计算任务将变得十分困难。也达不到实时性的要求。
然而,在许多情况下,只要近似误差被仔细控制,近似的答案是可以接受的。例如,如果数据是嘈杂的,那么比数据中已经存在的噪声更少的错误的答案与确切的算法一样有用。即使数据是无噪声的,许多高层次的商业决策也不需要对数据有精确的了解:在特定的时间内,有多少唯一身份用户访问某个网站时,可以知道多达 1%的错误,这通常与确切的答案一样有效。
当大致的答案是可以接受的,系统设计人员已经掌握了关于流算法的大量文献。这些算法一次处理海量数据集,并计算数据集的非常小的摘要(也称为草图),从中可以得出准确(但近似)的查询答案。许多流式传输算法甚至对 PB 级大小的数据集也只用了几千字节的空间,并且能够对每个数据进行定时处理,从而实现实时分析。
Mergeable Summaries
理想情况下,数据流算法将生成可合并的摘要,这意味着可以独立处理许多不同的数据流,然后可以快速组合每个数据流计算出的摘要,以获得各种数据集组合的精确摘要(联合,交叉等)。可合并摘要使大量数据集能够以完全分布式和并行的方式自动处理,通过在许多机器上任意分割数据,汇总每个分区,并无缝结合结果。除了与精确的方法相比,大大减少了内存使用量,计算时间和延迟,可合并的摘要也极大地简化了系统架构。它们允许非加性查询ÿ