COMPLEX EVENT PROCESSING KENNY INTHIRATH
EVENT-DRIVEN APPLICATIONS Event-Driven Applications High numbers of events Low latency Real-time Opposed to program-driven applications Fairly Linear Batch Jobs Taking in a stream of inputs Processing a conclusion
PROGRAM-DRIVEN VS EVENT-DRIVEN
COMPLEX EVENTS Complex Event Represents a set of other events That could lead to an opportunity or threat Complex Event Processing Combining multiple data sources Trying to determine meaningful patterns/workflow Analyze in (near) real-time streaming Goal of Complex Event Processing Identifying opportunities or threats quickly Responding to minimize or maximize outcomes
WEATHER FORECAST WORKFLOW
COMPLEX EVENT PROCESSING TECHNIQUES Pattern detection Abstraction Filtering Aggregation and transformation Modeling hierarchies Detecting relationships
AGGREGATION + DETECTION PROCESSING Aggregation Continually collect data and process results Example Continuously process some average Detection Detecting combination of events Looking for specific sequences Most apps use a hybrid approach of both.
ROOTS Discrete event simulation Active databases Research projects in the 90’s Related Concepts Operational Intelligence Query analysis to provide live, processed data feeds Inference Engines Rule-based reasoning Artificial Intelligence
BUSINESS AWARENESS + TECHNOLOGICAL Business Process Management Complex Event Processing exists at two levels Business Awareness Users understand pros/cons of individual processes Technological Technical analysis Results fed to business Helps business make appropriate choices Online Advertising Example Determine the stream of clicks/interactions of ads Relay information to business Decide which ads works
COMMERCIAL PRODUCTS For application development Microsoft StreamInsight High-throughput Oracle Complex Event Processing Filter, correlate, process ESPER Filter, analyze in real-time Tibco StreamBase Identify opportunities and remediate threats