4 ms·
Well... no shit, people. For whatever reason, many developers think MongoDB is an SQL replacement. To be fair, MongoDB did a very good job at hiding informatio
by cloudhead 15y ago
Well... no shit, people. For whatever reason, many developers think MongoDB is an SQL replacement.
To be fair, MongoDB did a very good job at hiding information which made it look bad, while posting misleading benchmarks. I think the majority of the user-base doesn't know MongoDB isn't durable out of the box.. they think it's just a "faster", better MySQL.
Doing solid research goes a long way to tone down the hype.
- schmichael 15y ago(speaker here) For the record something I did not mention in my slides or talk is that our data was not highly relational. For very similar data we've used non-SQL databases with success. Definitely should be something I make clear in my talk, so people don't think we foolishly tried MongoDB for highly relational data.
- cloudhead 15y agoThanks for the clarification, my comment wasn't targeted at you actually (it seems like MongoDB could have been a good fit here), but at developers who don't even consider the kind of usage, but instead think of MongoDB as a "better MySQL", when they are in fact fundamentally different. So thank you for posting this, it may make some people reconsider before they jump ship, or at least understand the trade-offs.
- fiaz 15y agoWhat other non-SQL databases have you used with success?
- schmichael 15y agoCassandra, but mainly because we have a couple devs who are excellent at debugging Java/JVM issues. Cassandra is young enough you really need to expect to get your hands dirty in its code to keep things humming. (I may be more forgiving of Cassandra because, unlike Mongo, Cassandra's major version number is 0). Another team seems awfully happy with Hadoop, although they've been bitten by an HDFS related bug. I can't speak too much to their experience. Memcached of course is wonderful, and the little bit I've used Redis it has lived up to its promises. Riak is the only non-relational database I can think of that I've only heard positive things about, but I've never personally used it.
- gtuhl 15y agoI'm a big fan of Redis precisely because it has a short list of promises and executes them well. So many of these other new data stores promise "infinite scale" and leave out the "as long as it fits in RAM" part.
- methodin 15y agoI actually tend to believe many developers realize that data in a relation DB is not the only way to go about things. Having spent my entire adult life in a SQL bubble it's refreshing to have all these alternative tools now that can do more for me as a collective whole. But of course blindly doing anything without a reason is a bad idea. For me, Mongo blows any RDMS out of the water with regards to prototyping and getting an idea into a working solution. That alone is why I use it exclusively for new projects - under the guise that if any of the projects ever become successful I'll have to split things out into their respective buckets. So far, I haven't been fortunate enough to have these problems.
- rbranson 15y agoCan you give a concrete example where MongoDB blew an RDBMS out of the water in regards to prototyping? I find that database schemas don't really get in the way until a project matures, and then it becomes a road block both in a legacy manner and that making changes puts strain on the database infrastructure.
- methodin 15y agoI can't remember the last time a schema I made in week 1 was similar to the schema in week 4. That alone is why I made that statement. Modifying schemes requires modifying code all over the place that relies on it. The majority of the time, with Mongo, I can ignore those changes and only code for what I added. That is my experience. Perhaps you have the patience and foresight to plan out your schema well before coding.
- schmichael 15y agoBe careful with prototyping against MongoDB. It allowed us to write some very sloppy code that was very difficult to cleanup later. YMMV, but when it's incredibly easy to arbitrarily query your database from all over your code, it's incredibly hard to resist.
- rit 15y agoFor the record: we (MongoDB) have a policy of not posting official Benchmarks. I'm not sure what benchmarks you are referring to that were posted and misleading. The only benchmarks we have ever done have been for internal testing comparisons between different versions. What information hiding are you referring to? [edit] The "Benchmarks" page on our site clarifies this policy: http://www.mongodb.org/display/DOCS/Benchmarks http://www.mongodb.org/display/DOCS/Benchmarks Previously there were several third party benchmarks on this page; but if you examine the page history we have always clarified them as unaffiliated third party sourced.
- Joakal 15y agoMongoDB does have some SQL replacements. MySQL to MongoDB query conversions: https://nyccto.files.wordpress.com/2011/03/mysql_to_mongodb.gif https://nyccto.files.wordpress.com/2011/03/mysql_to_mongodb.... http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Cha...