SQL流式案例 - 旋转门压缩(前后计算相关滑窗处理例子)
标签
PostgreSQL , 阅后即焚 , 流计算 , 旋转门压缩 , 滑窗分析 , 上下文相关滑窗 , 上下结果相关滑窗
背景
在流计算应用中,保持窗口和数据可重算(设置起点重新开始算)并覆盖已有计算结果。是两个比较特殊但又很有用的需求。
例如流数据来自多个业务线,数据在现实中的发生有先后逻辑,然而由于系统的问题可能有数据到达差异,例如先发生的事情,数据反而后到达,(比如说订单,先下单,后付款,在发货,这是多个业务线产生的数据,然而是围绕同一笔订单,如果数据到达发生了错乱,可能出现付款、下单、发货的到达顺序,影响流计算的准确性,通过重算可以达到修复的目的。)
抽象成流计算的功能:
1、下一次计算可能依赖上一次计算的结果,
2、下一次计算可能需要用到之前计算用到的源数据,
3、下一次计算可能改变上一次计算的结果,
4、可以回溯到之前的某个时间点开