Event Stream Processing Queries Overview
Event stream processing (ESP) queries respond directly to events from the channel, as they happen. Instances of events specified in a query statement are piped directly to the query. ESP uses continuous queries only.
ESP queries are very performant because the data does not go through the inference engine and then cache and then finally to the query, as with cache queries. Instead the query engine listens to events directly, reducing latency.
It is more efficient to process very large numbers of events in a query agent than in an inference agent. Using ESP queries you can reduce and enrich the data before sending it to an inference agent. For example, using a sliding 10 minute window, a query could process all the router status messages that arrive in that time period and its callback rule function is executed for each event (that enter and leaves the time window) and can send out summary information for that event.
A query agent can perform both ESP queries and cache queries, when deployed in a TIBCO BusinessEvents application that uses cache OM. You can also configure standalone nodes that perform only ESP queries and do not use any cache functionality. An inference agent using In Memory OM could also be deployed in the same node.
- Example ESP Query Strings
ESP uses continuous queries only, and the query string must include accept: new in the stream policy clause. - Event Assertion in a Query Agent
In a query agent, a channel executes an automatic Event.assertEvent(e) when its destination receives a message and converts it to the destination’s default event type. - Events Asserted Locally Feed Second-Level Queries
Asserting events locally in the ESP query agent enables the output of one query to used by another query for processing and condensation.