5 ms·
I would tend to say that MongoDB is the new MySQL in a different way - it's the default not-really-suitable hammer that the current generation of amateur softwa
by KaeseEs 15y ago
I would tend to say that MongoDB is the new MySQL in a different way - it's the default not-really-suitable hammer that the current generation of amateur software carpenters are using to turn every problem into a nail. It's not super elegant, but most of the time it works, sort of.
On the bright side, one could say that at least half of the PHP/MySQL tag team has been improved significantly by being replaced with Python/MongoDB, as theological issues aside, Python is a lot less broken than PHP :)
- sogrady 15y ago"I would tend to say that MongoDB is the new MySQL in a different way - it's the default not-really-suitable hammer that the current generation of amateur software carpenters are using to turn every problem into a nail. It's not super elegant, but most of the time it works, sort of." that's an excellent - and much shorter - way of putting it.
- superuser2 15y agoFor what projects (besides enterprise -> Oracle, embedded -> SQLite and Windows -> SQL server) would you consider MySQL inappropriate? What would you use instead? I see people angry about not using the "right tool for the job" all the time with regard to web applications. What other tools do you feel aren't used when they should be?
- darrenkopp 15y agoI have a client synchronization utility that uses MongoDB instead of SQLite because it's lightweight but I have all ease of use of MongoDB. Install it as a windows service with our installer and we are good to go. And in this context, MySql would be way to heavy.
- stephth 15y agoI have a client synchronization utility that uses MongoDB instead of SQLite because it's lightweight but I have all ease of use of MongoDB. Install it as a windows service with our installer and we are good to go. And in this context, MySql would be way to heavy. Your comment is confusing. Can you please explain: You replaced sqlite with mongodb, as an embedded database? How can mongodb run without a server? Are you saying mongodb is more lightweight than sqlite? If so I find this very surprising, can you elaborate?
- darrenkopp 15y agoIt's not an embedded scenario per se, but we use it like we would use sqlite. We install MongoDB as a service with our installer. But it's on the local machine, and only that machine (as our our application runs as the server). MongoDB isn't as light as sqlite, but for our usage the difference was negligable with MongoDB running with around 3MB memory footprint. In the end we get speed and ease of use/flexibility of not having to deal with sql or schemas.
- stephth 15y agoInteresting; thanks for clarifying.
- icebraining 15y agoWhy didn't you go for BDB, assuming you've considered it?
- darrenkopp 15y agoDidn't consider it/didn't think of it. Main reason why we went with MongoDB was that it's fast, lightweight, and had a c# driver (unofficial) already written at the time. I'm sure those all apply to BDB also, but we knew more about MongoDB.
- Joakal 15y agoIf you don't have need for relational integrity, then MySQL is a liability. MongoDB does not have relational integrity which is one of the reasons why it's faster. eg Real-time analytics If you need a pre-planned schema from database over making one on the fly (even accidentally), then MySQL is better as MongoDB is schema-less. eg Rapidly changing input If you are worried about Oracle's acquisition of Sun and MySQL (Switching to Postgre is the closest alternative though). MySQL sharding is hard, MongoDB can automate it to a certain extent (MySQL requires third party tools I believe). eg Distributing large datasets Note: Other databases, eg Cassandra can also automate 'sharding' for example.
- unicornporn 15y agoIsn't MariaDB an even closer alternative than Postgre?
- stonemetal 15y agoIf you don't have need for relational integrity, then MySQL is a liability. MongoDB does not have relational integrity which is one of the reasons why it's faster. When did Mysql have relational integrity?
- Joakal 15y agoFor a long time: http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-foreign-keys.html http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-foreign-key...
- 9oliYQjP 15y agoI'll take that as a compliment and leave this essay right here (look at the section on Amateurs): http://www.paulgraham.com/opensource.html http://www.paulgraham.com/opensource.html
- JeffffreyF 15y agoThat is a great, great essay. Paul G is a master abstract thinker.
- va_coder 15y agoHow many "professional software architects" saw Hibernate and Oracle as a hammer to every problem? MongoDB can be an excellent solution for professionals for many problems.
- sofuture 15y agoTwo wrongs don't make a right.
- kennystone 15y agoIt's incredibly easy to use and solves a whole bunch of problems easily and quickly. I don't really give a crap what the 'professional' way is.