What Is SAS Event Stream Processing?

Event stream processing is a form of complex event processing technology that is often used in data and decision applications. It analyzes and processes large volumes of streaming data quickly, helping you analyze events in motion—even as they are generated. Instead of storing data and running queries against it, the SAS Event Stream Processing Engine stores the queries and streams data through them. In this way, continuous analysis of data occurs as it is received, updating the intelligence as new events occur. Incoming data is read through adapters that are part of a publish-and-subscribe architecture used to read data feeds. Objects written in XML, DS2, Python, and C++ are used to model business logic within the engine. Data that passes through the engine is examined for patterns and can be filtered to more permanent storage. Prebuilt high-performance adapters publish filtered data to other downstream applications. The SAS Event Stream Processing Engine is designed for top performance with a flexible threaded processing model for submillisecond response and high-volume throughput.
The SAS Event Stream Processing Engine uses data flow models to define an ordering of source and derived event windows; the former defines the schema of event streams flowing into the system while the latter determines how these incoming event streams are processed. These data flow models are directed graphs that are frequently referred to as continuous queries, and they are the defining characteristic of event stream processing systems. The reason these models are referred to as continuous queries is that event stream processing systems use a set of known (or modeled) queries of interest. Also, they continuously update the resultant set of those queries (also known as derived windows) as new events are published to the system. Applications or end users can subscribe to any set of windows (for which they are authorized). Window events can also be queried through SQL in either an ad hoc or on-demand manner.
The SAS Event Stream Processing Engine is event driven- and data flow-centric in that event streams are continuously published to the system and processed through a set of data flow models (or continuous queries). As events are absorbed into the platform and processed though the continuous queries, windows (or nodes in the data flow model) can be queried or subscribed to. Each derived window in the graph is defined by relational operators (for example, join, aggregate, or filter), pattern matching, or procedural processing (for example, an extension to relational processing and pattern matching). However, this is not standard for all event stream processes.
SAS Micro Analytic Service executes inside the event stream processing procedural window, enabling continuous queries to process events with SAS analytics and custom logic that is written in DS2 or Python.