The basic concept of event processing is reading data, evaluating that data, deriving a result, and taking an action based on that result.
There are several factors which make CEP a challenge:
• The evaluation of different kinds of data
• The quantity of the data needing to be processed
• The need to process this data in real-time / near real-time (expected response times range from a few milliseconds to 1-2 seconds)
• Consideration of historical data
• Consideration of current device state, which can differ from the last event received from a device / source
The key is picking the right backend database solution (or many solutions) which has the features and qualities you need.