A General Algebra and Implementation for Monitoring Event Streams
Recently there has been considerable research on Data Stream Management Systems (DSMS) to support analysis of data that arrives rapidly in high-speed streams. Most of these systems have very expressive query languages in order to address a wide range of applications. In this paper, we take a different approach. Instead of starting with a very powerful data stream query language, we begin with a well-known class of languages -- event languages. Through the addition of several simple, but powerful language constructs (namely parameterization and aggregates), we add pieces that extend their expressiveness towards full-fledged languages for processing data streams. Our resulting contributions are a novel algebra for expressing data stream queries, and a corresponding transformation of algebra expressions into finite state automata that can be implemented very efficiently. Our language is simple and natural, and it can express surprisingly powerful data stream queries. We formally introduce the language including a formal mapping of algebra expressions to finite state automata. Furthermore, we show the efficacy of our approach via an initial performance evaluation, including a comparison with the Stanford STREAM System.