Last week I heard about a new project from Microsoft code-named Velocity. You can think of Velocity as Microsoft’s version of the very popular memcached:
“Velocity” is a distributed in-memory cache that provides .NET applications with high-speed access, scale, and high availability to application data.
Basically it’s a backend technology that helps to make websites perform better. Instead of accessing the database every time a page is requested, the website can often get the data it needs from the cache which is much faster than accessing the database.
ASP.NET has had caching built-in for years, but it doesn’t work in a server farm. That is, if you have more than one web server, there’s no way for all of them to share the same cache. Velocity makes that possible. For a good technical overview of Velocity, check out this post from Dare Obasanjo. Also check out Scott Hanselman’s podcast interview with two of Velocity’s architects.
We use memcached in Podcast Spot, and we’ve been very happy with it. It’s simple, efficient, and does just what we need it to do. Of course, our memcached installation is no where near the size of Facebook’s. I’ve read in a few places in the past that they run a 200 server cluster with 3 TB of memory solely for memcached. I’m sure it has grown since then too.
I have no idea how well Velocity will perform compared to memcached, or even if it’s full of bugs or not! I am eager to play around with it though, and it’s a project I’ll definitely be keeping an eye on. Velocity is a project from Microsoft that is long overdue, in my opinion.
5 thoughts on “Something to keep an eye on: Microsoft Velocity”
That’s pretty interesting. I would’ve assumed MS already had it’s own caching mechanism for .NET.
So is it going to be easier to set up with .NET / IIS than memcached?
Like memcached, ScaleOut Software also has been offering scalable distributed caching for .NET for several years. ScaleOut also transparently stores ASP.NET session-state. Unlike memcached, it provides automatic object partitioning across the caching servers, and it also automatically replicates objects for high availability. This means that you can add or remove caching servers without reconfiguring. ScaleOut is a commercial product; please see http://www.scaleoutsoftware.com for information.
Hi Kyle…it looks pretty straightfoward to setup, but I haven’t done it yet. I don’t find memcached that difficult to setup actually!
Thanks Bill – indeed there are other solutions. What’s interesting to me is that Microsoft itself is finally going to be releasing something. Competition is good!
NCache has been a premier distributed object and session caching solution for .Net Apps since 2005. NCache is a highly scalable, reliable and high performance object and session caching solution and various fortune 500 companies are using it. With its wide range of features NCache delivers today what velocity promises tomorrow.
The great thing about NCache is that you don’t need any code changes and it has a seamless integration. You can start evaluating NCache today as there is a 60 day trial period for the enterprise and developer editions. We also have a totally free version called NCache Express that can be downloaded from http://www.alachisoft.com/download.html