“动态插删由顺序统计树维护大小摘要,流式受限空间则可采用分位数摘要并报告秩误差。这些是不同更新和误差接口。随机增量构造逐项加入并维护全局结构,Quickselect 则不断缩小一个秩子问题,两…”
形式陈述
保证定义
在数据流模型中,依次读取全序集合中的值
因此两端分别取最小值与最大值。给定
要求
GK 型秩证书
为清楚区分重复出现,证明中暂按“值、到达位置”作稳定排序。摘要保存按这个次序排列的代表
最小和最大出现位置始终保留,且它们的证书精确为
就能保证全部分位查询的秩误差。流很短、
证书的局部维护可以直接核验。新项插到相邻代表之间时,令新
时执行这次压缩,就保留 gap 上界。
经典 Greenwald–Khanna(GK)算法还按剩余容量的层级安排压缩,并控制每层保留的元组数,取得
直觉
流式分位数摘要不必保存每个数值,只需让一组有序代表值携带它们可能覆盖的秩区间。相邻代表的区间宽度受控时,查询目标秩便能从证书中选出误差不超过预算的返回值;分位数精度衡量的是秩,不是数值距离。
例子与边界
延迟 p99 例子
监控服务延迟时,p99 摘要保证返回值在排序后某个出现位置距离
随机、合并与边界
KLL 以随机压缩得到更优空间和可合并性,但失败概率与随机性需单列;GK 的原始确定性结构并非任意合并后保持同一界。流长是否预知、重复值、权重更新及 merge 顺序都会影响版本。普通直方图只有固定 bucket 分辨率,没有自动的秩误差证明。
推论与应用
从证书选出返回值
令
同时
所以前一个代表的整个秩证书落在允许带内,真实出现秩也落在其中。最终丢弃到达位置、只返回值后,它的并列秩区间自然与该带相交。这给出一个明确的扫描规则和输出证书。
例如排序值为
更新和合并的适用范围
删除或负权更新会让秩随时间向两侧移动,需要相应版本重新维护证书。滑动窗口还须处理过期项,不能只运行普通 insertion-only 更新。
原始确定性 GK 的标准空间分析也不证明“两份元组直接拼接并沿用原
参考资料
- Michael Greenwald, Sanjeev Khanna, Space-Efficient Online Computation of Quantile Summaries, SIGMOD, 2001,§2.1 Proposition 1 与 Corollary 1、§2.2–2.3:秩证书、删除及分层空间分析。
- Zohar Karnin, Kevin Lang, Edo Liberty, Optimal Quantile Approximation in Streams, FOCS, 2016.