Yesterday night I had my first glimpse of what can be called, stretching it, a social life. I was invited by one of the 10gen people to go to a MongoDB meetup/party held in honour of the release of MongoDB 2.2 — I came to know about this after I was ranting on Twitter about the new point release for 2.0 is still using the outdated Boost filesystem version 2.
So first of all thanks to 10gen for the drinks and chips — the event was fun and it was nice to meet people from around here, although I was surprised in the seemingly scarceness of Linux users… too bad that Davide couldn’t be there because he was working…
You probably remember I was quite a bit disappointed in MongoDB when I tried it out, not for its own design but for some nuances that make it a good fit or not in an Unix environment — one of which (the syslog support) is finally solved on the new release, 2.2. But most importantly because of the way the Ruby driver has been managed.
Now I didn’t expect much of a technical meeting since it was intended as a party, but the main answer I have been given for the trouble (well, they asked, when I said I was sceptical) was that “the drivers are being worked on just recently”. I have to say that if it wasn’t for Matthew, I would have felt a bit disappointed in the handling… but since he at least engaged in a technical discussion at least on the small run, I actually got a possible reasons for the situation. the “just recently” meant that the drivers have been put on feature parity … and seems like somebody intended it as in “drop features that are not available elsewhere” without considering the API compatibility issue.
Also kudos for him taking time to look whether the Boost 1.50 compatibility was fixed in the new release or not (seems like it is, so that’s good for Gentoo).
The feeling I got is that my doubts on MongoDB are not really just me — I heard many people saying that they like the idea, and they are using it for side projects but … they don’t feel ready to prefer it over traditional solutions at the moment for their main systems. Some are having trouble with the way it handle small amount of data (too big an overhead), others the way it handles complex queries (spidermonkey is too slow, v8 is too unstable). So I guess I’m not more sceptical than the average.
My personal complain right now? I doubt I’ll have time to try the one experiment I’d like to see: converting Typo to use MongoDB — with my usual rate of writing, this blog has now over 1740 articles.. which enough comments already in – and I don’t get hit by spam so much thanks to my ruleset – but it still is sluggish from time to time. Given the kind of data that a blog is composed of, I think there is something to gain to go with an object tree model instead of flat tables… but I don’t have the time to work on this any time soon. Maybe when I’ll have time to play.
All in all, I still think that if there is an alternative (when the use cases make sense of course) to your average RDBMS, MongoDB at the moment is your best bet, which might say something about what the remaining bets are.