About
Event-Data Application are event-driven application that reports / analyze the immutable event collected (without any notion of a pre-defined lifecycle).
An event-driven application is a stateful application that:
- ingest events from one or more event streams delivered by a messaging system
- and reacts to incoming events by triggering computations, state updates, or external actions. They continuously produce and update results as events are consumed.
It's a push model from the perspective of the event creation (because a client may implement a pull model to read the stream of event)
This kind of application are in the Operational Intelligence (Real Time) category (versus Business Intelligence (Trend))
Example
Clickstreams : Suppose you have a website, and every time someone loads a page, you send a user viewed page event to a messaging system. You might then have consumers which do any of the following:
- Store the message in Hadoop for future analysis
- Count page views and update a dashboard
- Trigger an alert if a page view fails
- Send an email notification to another user
- Join the page view event with the user’s profile, and send the message back to the messaging system
Type
- Clickstreams from a website
- Message - Twitter and social media status updates, SMS messages
- Application metrics - monitoring OS or any other application (Network telemetry)
- Machine data (IoT) - sensor streams, GPS coordinates
- UI: mouse moves and other UI events
Case
- Rule-based alerting
- Business process monitoring
- Web application (social network)
- Real-time search index building
- Continuous ETL
- Large-scale graph analysis