Here at work we have recently came to a need to share lots of data between a large amount of data consumers.

The data share had to be highly available, reliable, yet fast and simple to access.

Without thinking twice creating a database looked like an option. However, given the complexity it adds to maintain yet another database and the costs associated we rushed ourselves to a quest of seeking for alternatives.

While some were poking around the Web I reached out to Scott Hanselman who instantly suggested we use Velocity and who also had a Podcast on it back in June 2008. Besides, since then the Microsoft's project has advanced to CTP3 stage and seems like it is nearing the RTM.

As per the MSDN, Velocity is an implementation of a "highly scalable in-memory application cache for all kinds of data".

At first I murmured to myself, why another if we already have the in-memory caching capabilities with .Net Enterprise Library Caching Block?

Well, nothing is all that simple, it turned out, Velocity has a number of superior features. To me most notable are:

  • Auto-balancing
  • Access to cache is simple, any CLR object can be used to put inside it
  • Can be part of a database (clustered) or in a folder share or even in embedded mode
  • Can work with ASP.NET
  • Concurency model includes pessimistic or optimistic conflict resolution
  • Nearly any programming language can be used to develop with Velocity
  • Can be implemented probably on several dozen servers, thus providing enormous redundancy and scalability

This array (besides, it is only a subset) of features looks very impressive to me and wet my appetite to try the product out.

For most recent news or changes I suggest you refer to the team's blog at http://blogs.msdn.com/velocity/

The product has an active forum at http://social.msdn.microsoft.com/forums/en-US/velocity/threads/

I would recommend architects or lead developers to get yourself familiar with the forthcoming product.

I would download the latest CTP to try to experiment with it, time permits, and report back to you how does it feel like working with Velocity.