Wednesday, December 03, 2008
Microsoft's Velocity compared to memcached
As a long time .NET platform fan, I've always found it a pity that for lightweight distributed caching, I had to rely on a command line Linux-like tool (memcached). The win32 version works really well and I am a happy user, but an installer would have been nice and maybe a control panel applet. The kind of sugar coating we like so much. Oh, and extensibility with .NET plugins would have been really cool.
So I was really excited when I heard that MS was working on a distributed caching service of their own. So how does it compare to memcached? I must say that I haven't personally checked out the software and I'm basing my opinions on the PDC presentations on the product. But still, I'm disappointed.
My main disappointment concerns complexity: one of the nicest things of memcached is that it is so well focused on serving key/value data fast. The FAQ is a classic: detailing mostly what functionality is not available. Velocity on the other hand is the classic Microsoft enterprise product: it can be configured in a gazillion ways. Velocity can do both replication and distribution of caches and works with centralized location tables and replication managers. Diagrams galore.
I do believe that the Microsoft engineers are very smart people, so I trust them to have thought well about the problem at hand. We at funda.nl are the typical memcached users. We need to scale to many users and the data we want to cache is typically to much to fit in memory on one box. Memcached fits us very well. I'm sure that many scenario's exist where you would want some of the bells and whistles Velocity offers (or will offer in the future), but the complexity of the product alone would be a reason for us never to consider it.
So I was really excited when I heard that MS was working on a distributed caching service of their own. So how does it compare to memcached? I must say that I haven't personally checked out the software and I'm basing my opinions on the PDC presentations on the product. But still, I'm disappointed.
My main disappointment concerns complexity: one of the nicest things of memcached is that it is so well focused on serving key/value data fast. The FAQ is a classic: detailing mostly what functionality is not available. Velocity on the other hand is the classic Microsoft enterprise product: it can be configured in a gazillion ways. Velocity can do both replication and distribution of caches and works with centralized location tables and replication managers. Diagrams galore.
I do believe that the Microsoft engineers are very smart people, so I trust them to have thought well about the problem at hand. We at funda.nl are the typical memcached users. We need to scale to many users and the data we want to cache is typically to much to fit in memory on one box. Memcached fits us very well. I'm sure that many scenario's exist where you would want some of the bells and whistles Velocity offers (or will offer in the future), but the complexity of the product alone would be a reason for us never to consider it.

