tags:

views:

618

answers:

2

We need to implement a large-scale key-value store (let's say up to 500GB) and BerkeleyDB seemed like it might be a decent option, but we would really like it to be network accessible. This led me to look at memcachedb. I haven't found much on the web where people talk about actual experiences with memcachedb, so my questions are, if you've used memcachedb:

  • would you recommend using it for a large k-v store?
  • if not, why not?

Thanks in advance!

Francis

A: 

I have used memcached a little bit in one of my projects. I think it's a very efficient and scalable caching platform. By changing small configurations, you're able to replicate the cached objects in more than one server. Facebook uses memacached for their in-memory storage and it's a large scale entity on the web. This gives a thumb up for memcahced.

The only problem I faced in implementation is that doesn't automatically accept objects to store. You will need to serialize the objects before storing which may be a little bit confusing at the beginning.

FYI, there is a nother caching platform produced by Microsoft called: Velocity. You may need to take a look on it: http://www.microsoft.com/downloads/details.aspx?FamilyId=B24C3708-EEFF-4055-A867-19B5851E7CD2&displaylang=en

mnour
He was asking about MemCacheDB (note the B on the end)
Warren P
+2  A: 

When I was trying to use BerkeleyDB (Which memcachedb apparrently uses as a backend), I found the insert speed to be atrociously slow. It really was unusable in that respect. My insert pattern and configuration was fairly standard, so I have no idea if it's just a general weakness of BDB, or something strange with my test setup.

One option to look into would be CouchDB. If you need to scale really big, there's always HBase or Hypertable, which are both Bigtable clones.

Nick Johnson