This looks like an interesting, simpler alternative to stream-processing solutions like Spark or Storm, which require quite a lot of upfront investment in terms of infrastructure and learning.<p>I'd be interested to know how this works behind the scenes. Does it recalculate answers every time you run a query, or does it update the query answers as the events flow in?<p>Also, the examples all seem to be using a time window, like this one from the documentation:<p><pre><code> SELECT COUNT(DISTINCT cookie.id) AS uu,
COUNT(*) AS imps
FROM impressions.win:time_batch(1 hours)
WHERE cookie.valid
</code></pre>
So does this only answer questions of the type "how many unique users did we have in the last hour"? Or can you also calculate a total count: "how many users have visited this page in total?".
Norikra is often combined with Fluentd log collector.<p><a href="http://fluentd.org/" rel="nofollow">http://fluentd.org/</a><p>Fluentd document has the article for Fluentd and Norikra use-case :)<p><a href="http://docs.fluentd.org/articles/cep-norikra" rel="nofollow">http://docs.fluentd.org/articles/cep-norikra</a>
How does this compare to the IQbservable interface in Rx.NET? (IQbservable = Queryable IObservable)<p>IQbservable doesn't seem to get much press -- but here's an interesting implementation that works over TCP: <a href="https://rxx.codeplex.com/wikipage?title=TCP%20Qbservable%20Provider&referringTitle=Documentation" rel="nofollow">https://rxx.codeplex.com/wikipage?title=TCP%20Qbservable%20P...</a>