Raising the Level of Abstraction for Time-State Analytics With the Timeline Framework
Abstract
Across many domains, we observe a growing need for more complex time-state analytics, which entails context-sensitive stateful computations over continuously-evolving systems and user/machine states. For instance, in video distribution, we want to analyze the total time video sessions spend in a buffering state. We argue that modern data processing systems entail (a) high development time and complexity and (b) poor cost-performance tradeoffs, for such workloads. We make a case for a Timeline abstraction for serving this class of workloads. By raising the level of abstraction using Timelines, we can reduce development complexity and improve cost-performance tradeoffs. We demonstrate the early promise in a production-scale video analytics deployment. We posit that the Timeline abstraction is more generally applicable across domains and enables new opportunities for further research.