1 流数据模型:数据以某种速率达到处理引擎,该速率使得无法在当前内存存储数据。流处理一种策略是保留流的概要信息,使之足够回答数据的期望的查询。另一种是维持最近到达数据的滑动窗口。
2 流抽样:为创建某类查询创建的流样本。确定流中关键属性集合。对任一到达流的键值进行哈希处理,使用哈希值确定包含键值的全部元素会使抽样样本的一部分。
3布隆过滤器:允许特定集合的流元素通过,大部分其他元素丢弃。使用一个大的位数组或者多个哈希函数。集合元素哈希到桶,这些桶置为1。哈希检查流的某值是否属于某个集合。哈希值到的位置为1,则属于集合。
4 独立元素计数:估计流中出现不同元素的次数。将元素哈希成整数,换成二进制数,最长0序列的长度作为2的幂指数得到结果为估计值。也可多哈希值组合,取中位数。
5 流的矩:流的K阶矩是流中至少出现一次的元素出现次数的K次方之和
6 窗口内1 数据估计: 0/1二进制流窗口1分到多个桶,估计出1的数目。
7 有关1 的数目的查询应答:最近k个元素1的个数,寻找一个最早的桶B,至少包含一部分查询范围,估计值为B的一半和后来的桶的和。
8 指数衰减窗口:窗口想象成所有达到的元素,t个时间单位之前的元素赋予权重e(-ct),保留指数衰减窗口的概要。
9 指数衰减窗口下高频元素的获取:每个项看成二进制位流构成,0表示非当前时间到达,1 表示当前时间到达,找出二进制流的和不低于1/2的元素,新元素到达时,将当前记录得分乘以(1-c)+1,并删除所有和小于1/2的项。