An apparently they already pay for themselves:
"“Business is fantastic,” 10gen President Max Schireson told me. “We keep outperforming every goal that we set for ourselves and the market just feels like it’s huge.” In fact, he said, new sales people pay for themselves almost immediately upon joining the company."
So I wonder what they are going to do with that huge pile of cash? R&D for a single DB surely can't be that expensive (or at least it would be difficult to get that many people to suddenly work on productive things that would actually improve the product and not just make it bloatware).
Apparently the hype works, for a DB that is about scaling but doesn't scale yet? "Just another $100m and we'll get there"?
How many people actually need a DB that "scales" better than mysql/postgres which are much easier to use and better supported and understood?
" Among other things, it has been criticized for being rather difficult to manage at scale. This is somewhat ironic, as scalability, along with the flexibility that comes with being schemaless, is among the driving factors behind the NoSQL movement. One would expect the most-popular of the bunch to scale with ease."
'Magic Scaling' isnt the only reason people use alternative data stores such as Mongo (or Couch), in fact as shown it can often turn out to be a really bad idea to do so. I wouldnt still be interested in CouchDB if it was just 'do stuff a bit differently from mysql and everything will work at scale' type database.
Schemaless, Native JSON, master master replication, HTTP API are all features which can be hugely beneficial to particular applications over tradition RDBMS' (those were only a few features and they were probably bias towards CouchDB because I know that better)
Easier mapping between my domain model (I mainly use Smalltalk) and the persistence is a huge win.
It's not just about scaling. IMO it's about teaching the vast armies of software developers that work on proprietary line-of-business software that there is variety in data stores and that they should be using the right tool for the job.
I shudder to think about how many EAV anti-patterns have been implemented on top of relational databases. Or how many 1-table-per-X databases there are. Or how many "json" columns and "blob" columns and "xml" columns have been added to otherwise innocent tables who did not deserve that kind of abuse.
That alone -- educating and giving tools and support to engineers outside of the tech industry -- is no easy task.
And indeed, I do have a relational database with a column that stores json! The horrors :)
You could help me get familiar with mongodb, any good real world tutorials for it? I have played with it just a little.
And more importantly, you can have an application that has hundreds of thousands of users and not really make a ton of money, so you kinda need something that is easy to use because you don't have the capital