Real-Time Multi-Pattern Detection over Event Streams

Rapid advances in data-driven applications over recent years have intensified the need for efficient mechanisms capable of monitoring and detecting arbitrarily complex patterns in massive data streams. This task is usually performed by complex event processing (CEP) systems. CEP engines are required to process hundreds or even thousands of user-defined patterns in parallel under tight real-time constraints. To enhance the performance of this crucial operation, multiple techniques have been developed, utilizing well-known optimization approaches such as pattern rewriting and sharing common subexpressions. However, the scalability of these methods is limited by the high computation overhead, and the quality of the produced plans is compromised by ignoring significant parts of the solution space. In this paper, we present a novel framework for real-time multi-pattern complex event processing. Our approach is based on formulating the above task as a global optimization problem and applying a combination of sharing and pattern reordering techniques to construct an optimal plan satisfying the problem constraints. To the best of our knowledge, no such fusion was previously attempted in the field of CEP optimization. To locate the best possible evaluation plan in the resulting hyperexponential solution space, we design efficient local search algorithms that utilize the unique problem structure. An extensive theoretical and empirical analysis of our system demonstrates its superiority over state-of-the-art solutions.

[1]  Arun N. Swami,et al.  Optimization of large join queries: combining heuristics and combinatorial techniques , 1989, SIGMOD '89.

[2]  Joseph M. Hellerstein,et al.  Eddies: continuously adaptive query processing , 2000, SIGMOD '00.

[3]  Johannes Gehrke,et al.  Rule-based multi-query optimization , 2009, EDBT '09.

[4]  Feifei Li,et al.  Scalable Multi-query Optimization for SPARQL , 2012, 2012 IEEE 28th International Conference on Data Engineering.

[5]  Neil Immerman,et al.  Efficient pattern matching over event streams , 2008, SIGMOD Conference.

[6]  David J. DeWitt,et al.  NiagaraCQ: a scalable continuous query system for Internet databases , 2000, SIGMOD '00.

[7]  Samuel Madden,et al.  Continuously adaptive continuous queries over streams , 2002, SIGMOD '02.

[8]  Assaf Schuster,et al.  Join Query Optimization Techniques for Complex Event Processing Applications , 2018, Proc. VLDB Endow..

[9]  Peter R. Pietzuch,et al.  Distributed complex event processing with query rewriting , 2009, DEBS '09.

[10]  Elke A. Rundensteiner,et al.  Scalable Pattern Sharing on Event Streams* , 2016, SIGMOD Conference.

[11]  Frederick Reiss,et al.  TelegraphCQ: continuous dataflow processing , 2003, SIGMOD '03.

[12]  Martin L. Kersten,et al.  A Multi-query Optimizer for Monet , 2000, BNCOD.

[13]  Gustavo Alonso,et al.  Shared Workload Optimization , 2014, Proc. VLDB Endow..

[14]  Chetan Gupta,et al.  High-performance nested CEP query processing over event streams , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[15]  Rajeev Rastogi,et al.  Sketch-Based Multi-Query Processing over Data Streams , 2004, Data Stream Management.

[16]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[17]  Avigdor Gal,et al.  Pattern rewriting framework for event processing optimization , 2011, DEBS '11.

[18]  Chetan Gupta,et al.  E-Cube: multi-dimensional event sequence analysis using hierarchical pattern query sharing , 2011, SIGMOD '11.

[19]  Jennifer Widom,et al.  Resource Sharing in Continuous Sliding-Window Aggregates , 2004, VLDB.

[20]  Guido Moerkotte,et al.  On the Complexity of Generating Optimal Left-Deep Processing Trees with Cross Products , 1995, ICDT.

[21]  Timos K. Sellis,et al.  Multiple-query optimization , 1988, TODS.

[22]  Srinath Perera,et al.  Recent Advancements in Event Processing , 2018, ACM Comput. Surv..

[23]  Yves Crama,et al.  Local Search in Combinatorial Optimization , 2018, Artificial Neural Networks.

[24]  Alessandro Margara,et al.  Processing flows of information: From data stream to complex event processing , 2012, CSUR.

[25]  Frederick Reiss,et al.  TelegraphCQ: Continuous Dataflow Processing for an Uncertain World , 2003, CIDR.

[26]  Lei Cao,et al.  Complex event analytics: online aggregation of stream sequence patterns , 2014, SIGMOD Conference.

[27]  Johannes Gehrke,et al.  Towards Expressive Publish/Subscribe Systems , 2006, EDBT.

[28]  Yoonho Park,et al.  SPC: a distributed, scalable platform for data mining , 2006, DMSSP '06.

[29]  Neil Immerman,et al.  On complexity and optimization of expensive queries in complex event processing , 2014, SIGMOD Conference.

[30]  Minos N. Garofalakis,et al.  Issues in complex event processing: Status and prospects in the Big Data era , 2017, J. Syst. Softw..

[31]  Alessandro Margara,et al.  Complex event processing with T-REX , 2012, J. Syst. Softw..

[32]  Feng Gao,et al.  CityBench: A Configurable Benchmark to Evaluate RSP Engines Using Smart City Datasets , 2015, SEMWEB.

[33]  Jennifer Widom,et al.  STREAM: The Stanford Data Stream Management System , 2016, Data Stream Management.

[34]  Jun'ichi Tatemura,et al.  Runtime Semantic Query Optimization for Event Stream Processing , 2008, 2008 IEEE 24th International Conference on Data Engineering.

[35]  Ugur Çetintemel,et al.  Plan-based complex event detection across distributed sources , 2008, Proc. VLDB Endow..

[36]  Jonathan Goldstein,et al.  Consistent Streaming Through Time: A Vision for Event Stream Processing , 2006, CIDR.

[37]  Robert Grimm,et al.  A catalog of stream processing optimizations , 2014, ACM Comput. Surv..

[38]  Assaf Schuster,et al.  Lazy evaluation methods for detecting complex events , 2015, DEBS.

[39]  Johan Håstad,et al.  Clique is hard to approximate within n1-epsilon , 1996, Electron. Colloquium Comput. Complex..

[40]  Ying Xing,et al.  The Design of the Borealis Stream Processing Engine , 2005, CIDR.

[41]  Assaf Schuster,et al.  Efficient Adaptive Detection of Complex Event Patterns , 2018, Proc. VLDB Endow..

[42]  Srinath Perera,et al.  Siddhi: a second look at complex event processing architectures , 2011, GCE '11.

[43]  Walid G. Aref,et al.  Scheduling for shared window joins over data streams , 2003, VLDB.

[44]  Wolfgang Lehner,et al.  Efficient exploitation of similar subexpressions for query processing , 2007, SIGMOD '07.

[45]  Paul C. Brown Architecting Complex-Event Processing Solutions with TIBCO® , 2013 .

[46]  Alberto Abelló,et al.  Incremental Consolidation of Data-Intensive Multi-Flows , 2016, IEEE Transactions on Knowledge and Data Engineering.

[47]  Elke A. Rundensteiner,et al.  Complete Event Trend Detection in High-Rate Event Streams , 2017, SIGMOD Conference.

[48]  Yuan-Chi Chang,et al.  Event detection in sensor networks for modern oil fields , 2008, DEBS.

[49]  Opher Etzion,et al.  Amit - the situation manager , 2003, The VLDB Journal.

[50]  Yanlei Diao,et al.  High-performance complex event processing over streams , 2006, SIGMOD Conference.

[51]  J. M. Eklund,et al.  Real-Time Analysis for Intensive Care: Development and Deployment of the Artemis Analytic System , 2010, IEEE Engineering in Medicine and Biology Magazine.

[52]  Johannes Gehrke,et al.  Cayuga: A General Purpose Event Monitoring System , 2007, CIDR.

[53]  Chetan Gupta,et al.  CHAOS: A Data Stream Analysis Architecture for Enterprise Applications , 2009, 2009 IEEE Conference on Commerce and Enterprise Computing.

[54]  Thomas Stützle,et al.  Stochastic Local Search: Foundations & Applications , 2004 .

[55]  Bingsheng He,et al.  Multi-Query Optimization for Complex Event Processing in SAP ESP , 2017, 2017 IEEE 33rd International Conference on Data Engineering (ICDE).

[56]  Chetan Gupta,et al.  High-performance complex event processing using continuous sliding views , 2013, EDBT '13.

[57]  Yogesh L. Simmhan,et al.  Incorporating Semantic Knowledge into Dynamic Data Processing for Smart Power Grids , 2012, International Semantic Web Conference.

[58]  Toshihide Ibaraki,et al.  On the optimal nesting order for computing N-relational joins , 1984, TODS.

[59]  Hao Zhang,et al.  Path sharing and predicate evaluation for high-performance XML filtering , 2003, TODS.

[60]  Johannes Gehrke,et al.  Massively multi-query join processing in publish/subscribe systems , 2007, SIGMOD '07.

[61]  J. Håstad Clique is hard to approximate withinn1−ε , 1999 .

[62]  Samuel Madden,et al.  ZStream: a cost-based query processor for adaptively detecting composite events , 2009, SIGMOD Conference.

[63]  Gustavo Alonso,et al.  MQJoin: Efficient Shared Execution of Main-Memory Joins , 2016, Proc. VLDB Endow..

[64]  Assaf Schuster,et al.  Efficient Detection of Complex Event Patterns Using Lazy Chain Automata , 2016, ArXiv.