Home > Complex Event Processing > More on StreamInsight (CEP from MS)

More on StreamInsight (CEP from MS)

September 6th, 2009

Here’s a good summary of links on StreamInsight from Microsoft:

http://www.sqldevelop.com/blog/resources-for-cep-and-streaminsight/

StreamInsight is Microsofts entry into the CEP arena. They went for the SQL approach too. I wonder when the next wave of CEP systems start to emerge which are not a hack of an old concept. SQL is not in any way optimal (but it does not suck either) base for inventing a CEP language. 

It’s just too painfull to create anything but trivial CEP logic. Just as it is painfull to create anything than trivial SQL databases…

If you think of it, what are the odds that a set oriented language would be the ideal candidate to deal with streams of events? It’s an engineering shortcut, you can re-use lots of ideas and most likely build upon existing code.

But is it the optimal way to do CEP? No way… But it’s a great start for CEP.

 

Share/Save/Bookmark

Complex Event Processing

  1. September 6th, 2009 at 21:47 | #1

    StreamInsight uses LINQ, not SQL. LINQ is a functional approach built around an extended form of list comprehension monad (monads are taken from category theory and used extensively in Haskell – LINQ was originally design by Haskell experts). Nothing to do with SQL at all. It is implemented via class libraries, but Microsoft’s main .NET compilers (C#, VB.NET and F#) all provide syntactic sugar.

  2. September 7th, 2009 at 06:14 | #2

    Ooops, maybe I should do some more research before I write more about this one ;)

    I browsed (too quickly it appears) the StreamInsight docs and found things like:

    from e in inputStream
    where e.value < 10
    select e;

    and just thought it looked like good'ol SQL. But what you say sound much more interesting. If it is like a good fit for F# then we are onto something here…

  3. September 7th, 2009 at 07:07 | #3

    I haven’t seen any F# code examples yet, but there should be no trouble in creating query templates using that language.

    It’s worth noting that MS could possibly add support for more ‘taditional’ approaches such as SQL in the future. I don’t think we will see this in the first release, and it would very much depend on what their customers tell them going forward.

  4. September 7th, 2009 at 11:40 | #4

    Hi Marco,

    I was the one writing the blog post you referred to above. I saw that Charles already have mentioned that StreamInsight is not SQLbut LINQ, so I will not go there as well.

    And yes, there is nothing that would disqualify F# for this. Infact, I was thinking of writing some examples using F#, anything in particular you think would be interesting?

    Niels

  5. September 7th, 2009 at 11:57 | #5

    One thing that would be interesting to see is how well the functional nature of F# blends with LINQ and StreamInsight. It would be nice if one could adopt more of that functional thinking (being great fan of the functional features of Python, specially list comprehension). How painful is it to do event processing in F#? Are there any conceptual borders which need to be crossed (compare; object oriented programming and the relational model) or does it feel like that you can stay within the concepts of F# and at the same time add stream processing with StreamInsight with little pain.

  1. No trackbacks yet.
Comments are closed.