StreamInsight in SQL Server 2008 R2
In my recent post on the license changes in SQL Server 2008 R2, I deliberately didn’t cover the way the new features would be distributed across the various editions as at the time of writing the decisions simply hadn’t been made.
One of these new features is StreamInsight (the feature formerly known as Complex Event Processing) and I haven’t posted too much about it to date because I didn’t see it being a mainstream tool.
Before I go into that what exactly is StreamInsight?
Imagine you’ve just woken up this morning and all these annoying inputs are entering your brain:
- There’s a really loud noise intermittent noise (the alarm’s gone off)
- some odd smells abound (from last night’s left over curry)
- There’s no light at all
- Your stomach is also reminding you that you over did it last night.
- Your blood sugar level needs attention.
Your body needs to react to all of this in the right way and often very quickly rather than simply remembering that this has all happened. If your body was running StreamInsight then you could set up a few rules to start your day:
- You would realise your eyes were shut and respond to this by opening them.
- A separate background check would be monitoring the rolling average blood sugar level over a minute interval and re-evaluating that every 10 seconds in order to release insulin into your bloodstream to manage that.
- You would reach out to shut off the alarm now you can see it
- You would leg it to the bathroom!
So StreamInsight is a near real time monitoring and control framework able to respond to thousands of events a second. It does this by running in memory and it has the optional capability to write out what’s happened to database i.e. SQL Server.
It will have several applications from traditional manufacturing or environmental process monitoring and control, to biomedical applications and event stock market analysis.
StreamInsight is a development framework so there is nothing to see until you start to program in it, and one of the other reasons I have mentioned to much about before was that it was originally only going to be in the new DataCenter edition of SQL Server.
However it will be included in a limited form in standard edition, the limitation being a restriction on throughput rather than capability so code written for one edition will work on them all. This restriction will typically result in standard and enterprise editions being limited to about 5,000 events a second with greater than 5 second latency while DataCenter edition will be able to handle over triple this amount and have a far lower latency.