My Photo

Become a Fan

DailyMile

Google Ad Skyscraper

« Today is code freeze for XD 6.0.1 | Main | Seems to be a lot of firefox users out there »

January 04, 2006

Comments

John D. Heintz

How does ObjectGrid in async mode differ from memcached? (http://www.danga.com/memcached/)

Billy

From what I can tell memcache is a non replicated partitioned remote cache. ObjectGrid can be configured to work exactly like this but it's only one way ObjectGrid can be configured. An ObjectGrid can also be configured to have a near cache which I don't see in the memcache pages but I'm restricted from downloading it without legal approval within IBM so my knowledge on this may be/is incomplete.

OG can also do checkpoint based recovery which can speed up bringing a fresh replica up to date and again, I don't know if memcache can do this.

OG is transactional and multiple changes can be placed in a single transaction and replicated atomically with fewer RPC than a non transactional approach and with atomic consistency. If you're doing multiple updates per request then this makes a big performance difference.

The other aspect is that ObjectGrid allows a cache server to be replicated synchronously or asynchronously, this doesn't seem to be supported by memcache and this can be a big deal for customers whose databases are not sized to deal with the normal load because they expected a warm cache in front :)

OG also supports cache preloading with recovery. This means that if two have a server pair acting as mirrors, the primary is preloading data. This is being replicated to the backup server online. If the primary fails before the preload has completed, the replica can continue from the last replicated point.

So, the big differentiator is that memcache is designed to be a remote partitioned cache but without the capability to run application code on servers and it can't really be used as persistent copy as it doesn't appear to be able to synchronously replicate. I think that ObjectGrid is as easy to use as memcache when ObjectGrid is used in this manner.

Lastly, memcache offers support for multiple languages which is cool and we don't do that out of the box as this point but products such as CodeMesh could be used to do the same thing more or less. Integration with LAMP is something I'm looking at though. There's a lot of it out there.

Again, I can't download it and compare so you're probably better able to judge than I can.

Thanks
Billy

Alain Rogister

Is it going to be available only as an option for WebSphere XD ? Or will it be licensed also for other editions of WebSphere ? Or possibly for other applications servers too ?

Billy

Everything, it's fully functional without WebSphere XD underneath it. ObjectGrid clients work on WAS 5.1 and up, ObjectGrid servers work on WAS 6.0.2 and up.

The ObjectGrid client should work on any JRE 1.3.1 or better, the server works on 1.4.2 or higher. It can be embedded in to other application servers or Java applications.

There is a much lower license fee when it's used in standalone mode. This is official (there's a PID with a seperate price) now whereas with XD 6.0, it was a special bid.

Cameron Purdy

If you look at the code for memcached, you will quickly understand how little it does, and how poorly it does it ..

However, for simple content caching where correctness, performance and availability are not terribly important, it's probably fine (and so was WebSphere dynacache).

Peace.

Bill Higgins

Wow. Cameron, you're definitely in the lead so far for smuggest blog comment of 2006!

The comments to this entry are closed.