Products: CEP Pattern Matching

Home
StreamBase Studio
StreamBase Server
StreamBase Adapters
StreamBase Chronicle
Complex Event Processing (CEP)
CEP (Glossary)
About StreamSQL
Try StreamBase
FAQs
Client Care
Knowledge Center

Printer Friendly

Pattern Matching in CEP

A pattern matching capability is typically included in the programming model of a cloud. In broad brush terms, these patterns allow the detection of relationships between events that are based on temporal ordering. Thus, one may want to ask for events that precede a given event or set of events. While many of these pattern-based queries can be captured in SQL99, the expression can be awkward. Thus, most modern stream-processing engines enhance their query languages with direct support for temporal patterns. To a large extent this is simply better syntax for capability that is already there. Adding syntax that captures new idioms is not a fundamental problem. The new syntax can be easily transformed to the old with a minimal amount of effort. Missing functionality would be a much more serious problem, but, at this point in time, it is difficult to see what that would be.

SQL has been highly successful because of its declarative programming model. Declarative programming allows the optimizer to make decisions that are based on the current structure of the data (e.g., indices, sort orders, sizes of data sets, etc). Expressivity is only a part of the story. Thus, SQL is a natural choice for stored data so extending it to include data streams is a great way to achieve a single programming paradigm for both. StreamSQL (like SQL) enables sophisticated optimizations that are needed to get the message throughput and low latency that ESP applications require. Moreover, extending SQL with constructs like windows offers a natural way to express common analytics that are typically run over bounded runs of data.

Next Page: CEP Causality Example

 « Previous 12 | 3 | 4 | 5 | 6 ] 7  Next »