StreamInsight V1.2 Released!

The StreamInsight team is proud to announce the release of V1.2! Don’t be fooled by the minor number increment - we've made a bunch of major improvements:

Resiliency against planned and unplanned downtime through checkpointing. Custom solutions to work around the problem of resiliency have typically been expensive to implement, and limited in their ability to prevent data loss and guarantee correctness of output after recovery. The new resiliency features in StreamInsight let you run your critical applications with tolerance to system failures and minimal operational downtime. StreamInsight resiliency supports recovering query state from the failure by checkpointing system state at specific points in time during normal operations. After a failure, the query is made operational again by recovering the query state from this persisted store.

Better support for predictive modeling and pattern matching scenarios through new user-defined stream operators. A user-defined stream operator, or UDSO as the team affectionately calls them, lets the user interact with the event stream in a procedural way. Unlike previous extensibility interfaces, they are not bound to a window, and can maintain their own state. A user-defined stream operator ingests a single event at a time and can produce one or more result events for each such input.

Improved administrator experience through performance counters. In previous versions, StreamInsight runtime diagnostics needed to be obtained from the engine’s diagnostic views. This new feature provides performance counter information, published through the Windows performance counter infrastructure, which can help monitor the health and performance of StreamInsight applications using well-established tools, such as Performance Monitor.

Improved administrator experience through the administrative event log The new administrative event log records administrative events and errors in the StreamInsight engine, which can be discovered, explored, and used via system tools such as Event Viewer. These events register state changes that can help system administrators understand the behavior of a StreamInsight application and react to state changes in StreamInsight components such as adapters, queries, and the engine, or investigate the unexpected shutdown of a query.

Improved development experience through support for nested event type structures and additional LINQ expressions. Previously, StreamInsight event types needed to be flat lists of payload fields. The new version of StreamInsight enables users to express event types as nested structures, reducing the friction between your native event schemas and their representation in the StreamInsight framework. Users can work with nested event types in the input and output adapters as well as in StreamInsight LINQ. A number of other improvements—like n-way joins, nested queries, and support for query macros—enhance the developer experience.

We updated our LINQPad driver and added a set of samples there as well to demonstrate the LINQ improvements and UDSOs. You can update to the new driver and samples by simply adding a new connection and downloading the driver again (we'll follow up with a more detailed post on how to do this).

We’ll post further articles about the new features and how to use them over the next few weeks, so stay tuned.