Join Query Optimization Techniques for Complex Event Processing Applications Ilya Kolchinsky Assaf Schuster Technion, Israel Institute of Technology Technion, Israel Institute of Technology Haifa 32000 Israel Haifa 32000 Israel
[email protected] [email protected] ABSTRACT Keywords Complex event processing (CEP) is a prominent technology Stream Processing, Complex Event Processing, Lazy Eval- used in many modern applications for monitoring and track- uation, Query Optimization ing events of interest in massive data streams. CEP engines inspect real-time information ows and attempt to detect 1. INTRODUCTION combinations of occurrences matching predened patterns. Complex event processing has become increasingly im- This is done by combining basic data items, also called portant for applications in which arbitrarily complex pat- primitive events, according to a pattern detection plan, terns must be eciently detected over high-speed streams in a manner similar to the execution of multi-join queries of events. Online nance, security monitoring, and fraud in traditional data management systems. Despite this sim- detection are among the many examples. Pattern detection ilarity, little work has been done on utilizing existing join generally consists of collecting primitive events and combin- optimization methods to improve the performance of CEP- ing them into potential (partial) matches using some type based systems. of detection model. As more events are added to a partial In this paper, we provide the rst theoretical and experi- match, a full pattern match is eventually formed and re- mental study of the relationship between these two research ported. Popular CEP mechanisms include nondeterministic areas. We formally prove that the CEP Plan Generation nite automata (NFAs) [5, 18, 51], nite state machines [6, problem is equivalent to the Join Query Plan Generation 45], trees [36], and event processing networks [21, 42].