Sunday, September 28, 2008

CEP vs. Traditional Databases

Complex Event Processing systems and Databases have many things in common. Both CEP systems and Databases are used to retrieve useful information from a large set of data. CEP systems and Databases use query languages in order to perform various operations on data. Each CEP or Database query defines an operation on a subset of relations within the Database or the CEP system.

However, the two paradigms are quite different in their implementation and usefulness. First of all, a CEP acts upon transient data whereas a Database acts upon persistent data. A CEP system performs operations on a specific time interval whereas a Database performs an operation which does not depend on time. Also, a CEP system operates on a fixed query whereas a Database operates on querys that vary according to the transaction performed.

The CEP system can therefore be thought of as an inversion of concept of Database system. And, the final outcome is rather more or less the same. The benefit of having a CEP system in certain situations is very high when compared to a Database system, and thus the popularity of the CEP concept.

Situations in which a CEP plays a better role compared to databases are occasions in which large volumes of transient data are present and require real-time processing, which most modern Databases can't afford unless otherwise expensive hardware is being used. Others are situations such as deriving useful events from an event cloud, or tagging events as they pass by.

No comments: