

Ask HN: Is MemcacheDB a leaky abstraction? - andres

I've been experimenting with memcachedb and I've run into some problems which I think are pretty fundamental to the project. I'm coming to the conclusion that it's an architecture issue - memcachedb is a persistent database abstracted behind an interface specifically designed for non-persistence.<p>Basically, I found that under high read/write loads I get occasional socket timeouts (tested on linux/osx). I think the underlying reason for the timeouts are Berkeley DB locks when data gets flushed to disk. Beyond the hassle of getting intermittent socket timeouts the real problem is that the memcache client API fails gracefully because it was specifically designed to be fault tolerant. You can check for socket errors and retry queries but you'll still get unpredictable query times.<p>I'm curious if other people have worked with memcachedb and have had similar experiences. Given the architecture, what types of applications it is useful for?
======
andres
incidentally, i'm still using memcachedb to store sessions and it seems to be
working fine. i think the abstraction leaks under high loads which lock the
underlying database.

