Macrometa Stream QL is designed to process streams of events. It can be used to implement streaming data integration, streaming analytics, and rule-based and adaptive decision making use cases. It is an evolution of Complex Event Processing (CEP) and stream processing systems that you can use to make stream workers that process stateful computations, detect complex event patterns, and send notifications in real-time.
Stream QL uses SQL-like syntax, and annotations to consume events from diverse event sources with various data formats, process them using stateful and stateless operators, and send outputs to multiple endpoints according to their accepted event formats. It also supports exposing rule based and adaptive decision making as service endpoints so that external programs and systems can synchronously get decision support from streams.
The following sections explains how to write processing logic for stream workers using Stream QL.