memcached - Simple Works Best, Take Note Microsoft

by Dustin Puryear

I was reading a quick run-through of memcached and it occurred to me how absolutely simple and SIMPLISTIC memcached is. Really, it’s absolutely.. basic. Oh, but wait, what is memcached? memcached is really nothing more than a cache service for accessing data. Its origins are as a cache service for the RDBMS used by Facebook. Anyway, memcached is nothing more than a hash table in memory that is used to cache query results. That’s it.

“So what?” you ask.

Well, memcached is actually a pretty big deal. It’s used all over now. And if you monitor places In The Know, like the High Scalability blog, you’ll notice a trend: A lot of people use it or plan on using it Real Soon Now.

memcached was written to serve one basic role: cache database request. It wasn’t written to provide a massively redundant service. Or to distribute load across memcached nodes. Or to provide a secure proxy to a database service. It just takes a query and returns whatever is in the cache. And this is done using a simple hash, meaning that at its core memcached uses a set of algorithms that you’ll find on every second year Computer Science exam in college.

What I find so fascinating is that yet again we see a very simple but hugely effective service developed in the UNIX world. Why aren’t these things happening for Windows? With Microsoft’s forays into HPC, you would hope that people both in research and business would start fleshing out these genius little nuggets on the Windows platform, but I haven’t seen this happen yet. So, what’s the hold up?


5 Comments

Tom
2008-04-15 23:29:03
memcached was not originated by Facebook. It was created for Livejournal by Danga. See: http://www.danga.com/memcached/



Dustin Puryear
2008-04-16 07:01:31
Ah! I totally meant LJ! I don't know why I said Facebook. Oops. :)
M. David Peterson
2008-04-16 08:34:15
>> So, what’s the hold up?


I was in Seattle a few weeks back and met up with Brad Fitzpatrick (creator of, amongst many other things, memcached) for the first time (see: http://www.oreillynet.com/xml/blog/2008/03/mts08_flight_w_piers_hollot_di.html ) Not sure of the exact details, but if not mistaken, based on a few things Brad mentioned during our conversation, this is something MSFT has in the works.


No details past that, but it really wouldn't be all that hard to take the existing ASP.NET caching layer and extend it out across as many configured nodes as you might want.

Dustin Puryear
2008-04-24 07:45:56
Hey David- Hmm, well, that's good to hear but.. why isn't it out yet? That's part of my point. It seems that "little" innovations seem to take longer on the Microsoft side of the world for some reason. Why?
Simon B.
2008-05-10 15:10:29
Since it's SIMPLISTIC, there couldn't be many lines of code. Let's have a compatible native Windows Service (or something more lightweight/agile) already.