In this paper, we provided a developer’s introduction to the Microsoft StreamInsight Queries. We discussed a systematic 5 step process by which a developer can think through the formulation of a problem, and working through the steps to arrive at a StreamInsight query. We introduced the components of a StreamInsight application through a simple tutorial, and used this tutorial to discuss typical needs in a streaming application, showing how StreamInsight queries addressed these needs. We covered the windowing constructs and other language elements that enabled filtering, computations, and correlation over events. We showed examples of both top-down and bottom-up analysis and understanding of composing queries. We then expanded on the various forms of stream behavior and how StreamInsight enables the user to arrive at a compromise between latency requirements and the need for correctness of results.
While this document provides a good introductory coverage, it is not complete by any means. We have not covered some useful constructs in Count Window and Dynamic Query Composition capability. The Join construct is immensely powerful for various forms of event correlation – the examples provided in this document are simplistic. The query behavior section could be expanded to explain the temporal algebra in greater detail. Particularly, we have not touched upon the Edge event and signal processing using StreamInsight.