3 ms·
Come on, give MongoDB a break. I use MongoDB and I am proud of it. And I have used numerous SQL DBs (MySQL, PostgreSQL, Oracle, MSSQL, SQlite) and HBase from no
by annnnd 13y ago
Come on, give MongoDB a break. I use MongoDB and I am proud of it. And I have used numerous SQL DBs (MySQL, PostgreSQL, Oracle, MSSQL, SQlite) and HBase from noSQL camp, so I do have something to compare to.
Yes, it was overhyped (and is underhyped now, at least on HN). Yes, it has its problems. Yes, it is not correctly positioned in people's minds (web-scale? not really). MapReduce on top of MongoDB, in a single-threaded JS engine - are you kidding me??? But it is useful tool nevertheless; one I am happy to have in my arsenal.
MongoDB will NOT solve your scalability problems. Old news. It will even add some of its own problems on top of it. But man, is it nice to just fire that data into your database and forget about DB-level schemas... And when you need that data, it is just there. True, I have built an ORM on top of MongoDB so it manages the DB for me; but it was easy to do and is incredibly useful. I would have done it with MySQL too (actually, I did - and it was a PITA to build because of relational databases' rigidness).
So please, stop bashing MongoDB for wrong reasons. It is an excellent and easy to use storage - when used for the right kind of problems. Nothing more, nothing less.
- chris_wot 13y agoHow did you build an ORM on top of MongoDB? And why?
- annnnd 13y agoSorry, poor choice of words... I have build an ORM on application level above MongoDB. This level lets me specify data model in a simple JSON and the system then automatically performs all (high-level) data input validations, displays a proper web form to the user,... There are actually many similar systems to mine, I just couldn't find one that would offer all the functionalities I needed. Note that DB is just a storage for me. It can't know enough to validate for example e-mails, because for DB they are just strings.
- chris_wot 13y agoThat's not an ORM, that's a data abstraction layer.
- annnnd 13y agoIt's actually both. Term "data abstraction layer" describes its function while term "ORM" describes how it is done. Unless I am misunderstanding these terms? But we are going a bit off-topic here. :)
- chris_wot 13y agoAn ORM maps a relational database to objects. Given MongoDB is most definitely not relational, you can't have implemented an ORM :-)
- bitdiddle 13y agoagree, it's kind of like MS Access was, right? Dirt simple to use, lots of neat add on tools over the years, and great for rapid prototyping, but not really a database.