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.