4 ms·
I can't help thinking people who say MongoDB should be a "default" for all web apps are people who've never had to set up, maintain, monitor, debug, or fix a re
by ddemaree 15y ago
I can't help thinking people who say MongoDB should be a "default" for all web apps are people who've never had to set up, maintain, monitor, debug, or fix a real MongoDB instance in production. It's a pain in the ass compared to MySQL or Postgres. Since doing it right involves redundancy, 64-bit environments and lots of storage space, it can be very expensive to host yourself, and Mongo-as-a-service options like MongoHQ are also pricey for the level of storage/performance you get. That's not to say Mongo sucks — I love Mongo, but I've been burned enough trying to use it on various projects to make sure I (or my company) have a solid reason for needing it before subjecting myself to more pain.
In my experience there are always ways to tweak something in your RDBMS setup to improve performance, like tuning queries or your indexing strategy, or skipping using an ORM for super-critical stuff, or looking at I/O latency or blocking issues between your app and DB machines.
- gregwebs 15y agoThe CTO I am working with is responsible for maintaining both MySQL and MongoDB data stores himself in addition to writing a lot of code. After starting with MySQL he has been gradually shifting everything to MongoDB and would like to just get rid of MySQL. I personally don't have deep operations experience, and I am sure your individual experience is valid. I think that in part, MongoDB is maturing- it now has single server durability and replica sets. Single server durability means it now can be a default, whereas before you had to commit to 2 servers as you allude to. People seem to report it is more critical to have enough memory, and that it wants more in comparison that a SQL database, so perhaps that limits its ability to be a default database. The issue of course isn't whether you can adjust an RDMS based infrastructure to suit your needs, but how much effort that will be in comparison to an alternative.