Memory mapped files are nice, but once the mapped file starts to get much bigger than the physical memory pages the operating system can allocate, it starts to be asymptotically the same as accessing the filesystem from the point of view of latency, so indeed for datasets considerably bigger than RAM it is not possible to be as fast as memcached. Not a MongoDB limit, but a nature-imposed limit :)
I have had some bad experiences with memory mapped databases (particularly Berkeley DB and Tokyo Tyrant) - both these seem to be very greedy with IO writes when one starts to have lots of data and lots of updates. I think Reddit experienced a similar problem (as memcachedb is based on Berkeley DB).
I've tried MongoDB with the C++ API. I had a lot of problems in particular with the BSON objects and then switched to Memcached (+ MySQL). Do you think that the "production" version is working ok for all API's?
Sluggy.com has been using MongoDB in production (with Python as it's main API interface) since ~July '09.
We haven't had a single problem with Mongo or API interfaces. This replaced MySQL + Memcache and was a MASSIVE difference in system load and performance.
Your mileage may vary, but it's very, very rare that I can say I haven't had a single real problem with a third party package (especially one as complicated as a database-type system), more so with early adoption.
(I'm still using Memcache for a few legacy pieces, but in general things I was having Beaker stuff in Memcache such as sessions and Pylons template caches are going into the Mongo Beaker plugin I wrote - http://bitbucket.org/bwmcadams/mongodb_beaker/ )
The C++ API should work well as it is what we use in the database. The only issues is that it depends on boost, and any binary copy of the library depends on a specific version of boost. You may want to try compiling libmongoclient for your computer. If you still have issues, please post to our user list or ping us on irc.
Sweet, I am installing it right now on my MacBook (I always have it running) and if everything looks good I'll also install it on my 2 MongoDB servers. I really like MongoDB for its ease of use with Ruby and its rich query support. I am unlikely to ever need the scalability of Cassandra, and MongoDB's features fit my needs. The new geo location support looks good.