A New Perspective on MongoDB
dirolf.com
dirolf.com
- it's super flexible (and schema-less)
- dynamic queries are fast and powerful
- it's very easy work with
Scalability is another issue, but I think Mongo can scale (and that's slowly and bravely being proven by Foursquare). And almost all startups need to drastically re-architect their datastores when they hit massive scale anyways, so why not start out with the easiest and most flexible option that will let you iterate the fastest?
I really liked MongoDB's philosophy but this was the show stopper for me when I was exploring it. At least for some services I need to be certain that if the DB says it stored some data that really stored and not kept in volatile memory until it decides it's the right time to write them to disk.
It's been a while since I looked at it though, and that may no longer be the case. Are there any improvements in this area?
I have no idea how well it would scale if I did build something that ended up being a success - but it's a risk I'm happy to take if (due to my own personal quirks :), it increases that chances that something that I build ends up being a success.
I've got a lot of data but a relatively light workload. One m1.large w/ mysql handles the workload easily, to fit two copies of everything in RAM with mongo I estimate I'd be paying four times as much.
Now, if I had more traffic, there's a crossover where mongodb is probably cheaper but the system I've got ought to scale affordably to the point where I'll have enough money for the next thing if I need it.