In memory aggregations in .Net
Very interesting idea brought up by Jamie (http://blogs.conchango.com/jamiethomson/archive/2009/04/08/programmable-in-memory-aggregations.aspx)
and one that i've been thinking about a few months ago after using LINQ to do
aggregations.
Before LINQ writing code that aggregated data up was ugly, you had to write a
lot of plumbing code to store the key buckets and the aggregates. Now with LINQ
its very easy to do aggregate queries to get things like sum of sales by year
and count of sales by year into one list.
The downside is that whilst the code is simple there is no magic under
the hood making this perform any better than if I did the code myself. In fact
it will likely be slower as the LINQ stuff is generics based and so can't
use some of the optimisations you could use if you did the code your self.
Whats key is that its currently not parallel (although I'm not sure what
PLINQ brings to the table)
Gemini, as John's comment on Jamies post mentions, is an in memory Analysis Services
object. So the question has to be whether one would be able to embed that into
your own application? Any comments Donald?
-