These days, everywhere you look there's more and more information bombarding
us. Our email inboxes are flooding over, blogs, websites and RSS feeds provide
a constant stream of updates, and new social networking sites such as twitter.com
even allow your friends and family to track every movement you make - from running
out to Starbucks to kicking back and watching the latest thriller on DVD. No matter
how you slice it, the general public is exposed to a whole lot more information
today than they were ten or twenty years ago.
Of course, it's the same for businesses - only it's worse. As I've explored
in previous
columns, today's businesses are consuming, generating and repurposing huge
amounts of data these days. And it's not just coming from traditional order
entry-type applications or individual users. Today, organizations have to deal
with a wide range of data sources that are constantly delivering new information.
The range is almost endless-it could be financial market data, network events,
application data, RFID or sensor events, Web/click events or just about anything
else. The effect is the same-many organizations need a proactive way to analyze,
process, and act upon this ever-expanding volume of information flowing through
the company from a myriad of (potentially time-critical) sources.
That's where complex event processing comes in. Complex event processing is
an approach that helps organizations cope with all that information. Complex
event processing engines are designed to analyze high-speed event and data streams,
such as ones coming from sensor networks or financial data sources. They're
specialized to support extremely high-speed processing (for example, sub-millisecond
latency) and to be able to integrate multiple data streams, as well as stored
data (say, historical and reference data to compare all that incoming data against).
The end result is an application/engine that can perform continuous processing
on huge numbers of events, data, or alerts and enable users (or organizations/applications)
to take proactive steps.
Complex event process engines typically take in all those events and data,
process it in conjunction with historical or reference data, and output signals
to operational applications or execute logic in accordance with complex event
processing applications designed to run in the engine. The results can also
be sent to pre-coded dashboards and real-time analytics applications. Those
are the typical functions of a basic complex event processing system.
-1-