« Lure of the Multifunctions | Main | If at first you don't succeed, try, try again! Business Objects acquires Cartesis »
April 24, 2007
Lingua Franca for Event Stream Processing
Event Stream Processing (aka: Complex Event Processing) enables companies to monitor event streams, detect and analyze event patterns, and cause actions. Although not entirely dissimilar to rules-based engines such as Corticon, Blaze Advisor and ILOG with ESP emphasis is placed on processing events "mid flight i.e. as they occur in originating sources and before they hit any type of permanent storage. Tower Group estimates that spending on ESP will grow tenfold from $67 million in 2006 to over $600 million by 2010.
An application that clearly demonstrates the benefits of ESP is Algorithmic Trading on Wall Street. An ESP application can take data coming from ticker plants and route the first arriving quote from across multiple exchanges that meets a traders specific criteria.
As ESP is still in its infancy, vendors have developed very distinct approaches for how ESP processes are set up. The one approach that stands out is that of SteamBase, which by working with various academic groups, has created a language called StreamSQL. StreamSQL syntax is similar to relational SQL and both Data Definition (DDL) and Data Manipulation (DML) elements are present however unlike relational SQL which returns query results upon reaching an "end of table condition, StreamSQL relies on time windows to return results when desired conditions are met.
Other predominant approaches are that of products such as Aleri, Apama (now part of Progress), Coral8 and Portware which orchestrate ESP through either a proprietary scripting language or a set of APIs for a handful of environments such as Java or .NET.
Aside from providing the familiar paradigm of SQL, StreamSQL also has the potential of being generated by third-party products such as tools for data visualization and analysis. Although some vendors (for example Apama) have chosen to provide "complete solutions themselves including the IDE for orchestration and dashboards for monitoring, StreamBase welcomes third-party generated StreamSQL as evidenced by a recent statement by
