I run engineering for foursquare. About a year and a half ago my colleagues and I and made the decision to migrate to MongoDB for our primary data store. Currently we have dozens of MongoDB instances across several different data clusters storing over a TB of data and handling 10s of thousands of requests per second (mostly reads but the write load is reasonably high as well).
Have we run into problems with MongoDB along the way? Yes, of course we have. It is a new technology and problems happen.
Have they been problematic enough to seriously threaten our data? No they have not.
Has Eliot and the rest of his staff @ 10Gen been extremely responsive and helpful whenever we run into problems? Yes, absolutely. Their level of support is amazing.
MongoDB is a complicated beast (as are most datastores). It makes tradeoffs that you need to understand when thinking about using it. It's not necessarily for everyone. But it most certainly can be used by serious companies building serious products. Foursquare is proof of that.
I'm happy to answer any questions about our experience that the HN community might have.
All databases perform poorly if you try to use them for use cases they don't fit, but I find with NoSQL databases it can be hard to find concise, objective statements of which use cases each is ideal for.
Of course we've run into problems from time to time. No one goes from nothing to foursquare's level of success without running into some bumps along the way.
> were they serious? did someone lose money?
> it would answer whether to use an eventually consistent db
MongoDB actually isn't really an eventually consistent datastore. It doesn't (for example) allow writes to multiple nodes across a network partition and then have a mechanism for resolving conflicts.
You had 11 hours downtime and didn't lose money?
What about opportunity cost? Reputation?
Now you have to share your secret :)
(I guess, if you weren't profitable, you had nothing to lose?)
Or perhaps investor pressure to close ranks ;)