Next Week Projections Talk

Next week I will be doing a talk on the using the Event Store as a read model. I have spent so much time the last few years talking about the benefits of Event Sourcing as a write model but there are some quite unique scenarios where it makes a ton of sense as a read model as well.

It will also be interesting for me as many people have misunderstood the concept of the “projections library” in the event store. In particular I often get asked the question “how do I query all of my states to get the ones with the last name of “xxx””. While this *can* be done in the projections library you probably should not be doing it there. It sounds more like you want a document db/kv store. This is something we have not been good in explaining to people as of yet (largely because we have been so focused on the primary use case of the write side)

Projections are about stream operations, repartitioning, and the ability to do temporal queries. Many very complex systems do a very few simple things. The canonical example of this is a system for handling temperature sensors or price streams from the stock market. All the system does is say some moving averages or candlesticking of prices but they take 9 months to build. Why because of all the other stuff associated with the problem (sure its easy until you have 20k+ updates/second and you need to be available). One of the main usecases for projections is these kinds of problems where you can drop in 5 lines of javascript and the other gunk is built in already for you.

 

3 Comments

  1. Posted December 7, 2012 at 3:45 pm | Permalink | Reply

    This is great! What are the details on the talk?
    -Chris

  2. Posted December 7, 2012 at 3:52 pm | Permalink | Reply

    http://skillsmatter.com/event/ajax-ria/event-store-as-a-read-model

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: