<story><title>PostgreSQL Outperforms MongoDB in New Round of Tests</title><url>http://blogs.enterprisedb.com/2014/09/24/postgres-outperforms-mongodb-and-ushers-in-new-developer-reality/</url></story><parent_chain><item><author>tete</author><text>Did I miss something? MongoDB was never ever faster than Postgres. That&amp;#x27;s nothing new. Most of these things are clear when one reads the MongoDB docs:&lt;p&gt;MongoDB stores Metadata, (nearly) uncompressed on a per document basis, so of course it uses way more diskspace. It doesn&amp;#x27;t store the data in any efficient way either.&lt;p&gt;Also it&amp;#x27;s pretty much unoptimized, compared to Postgres which has been around for a really long time so it&amp;#x27;s kinda slow.&lt;p&gt;Many functions in MongoDB are actually implemented in JavaScript, not C. So that&amp;#x27;s also a factor, even when I guess it&amp;#x27;s not the big one here.&lt;p&gt;MongoDB has a lot of limitations that can really bite yo (document size even though that&amp;#x27;s the smallest (gridfs), how you can do indices, even limitations in how your  query can look like, etc&lt;p&gt;The only thing that&amp;#x27;s good about MongoDB is that it&amp;#x27;s nice for getting something up and running quickly and that it&amp;#x27;s a charm to scale (in many different kinds), compared to PostgreSQL. If PostgreSQL had something built in(!) coming at least close to that (and development has a strong focus there) it would be perfect.&lt;p&gt;For all these reasons many companies actually have hybrid systems, because sometimes one thing makes sense and sometimes the other.&lt;p&gt;The benchmark seems strange, cause there are many SQL and NoSQL databases that are faster and that&amp;#x27;s a kinda well-known fact. I think everyone who ever had to decide on a database system has known that, even without a benchmark.&lt;p&gt;This makes it kinda look like an advertisement (look at the company behind the blog).&lt;p&gt;Using PostgreSQL 9.3 with JSON for a while now and it&amp;#x27;s great. Also I know it is possible to scale PostgreSQL and it&amp;#x27;s really nice. Still a lot more complexity involved (again, depending on the use case).&lt;p&gt;Just use the right tool and please let&amp;#x27;s stop with such shallow comparisons, because I think it kinda harms the reputation of database engineers and system architects - and the authors of such comparison. When you look for real comparisons and example use cases, typical patterns or just some help one always stumbles across these things and they tend to quickly be out of date too, cause all well-known databases have a lot of active development going on.</text></item></parent_chain><comment><author>personZ</author><text>The entire narrative behind MongoDB in the first chapters of its evangelism was performance, partly due to its document-oriented approach (things are quicker in some scenarios when you get rid of relations, and it was contrast against the many tables approach), which is something that you can only very recently do in pgsql, and partly due to implementation choices like the dangerous default lack of fsync.&lt;p&gt;Early evangelism for Mongodb was &lt;i&gt;overwhelmingly&lt;/i&gt; one that hyped performance over all others. It was, somewhat infamously now, webscale.&lt;p&gt;So now pgsql (since 9.2, but vastly improved in 9.3) can also do the things that MongoDB does, better, if you want to do the document approach (which is a serious debate unto itself). That is news and is interesting.&lt;p&gt;As for scaling out, I would argue that 9.3 offers more realistic, robust options than MongoDB does.</text></comment>
<story><title>PostgreSQL Outperforms MongoDB in New Round of Tests</title><url>http://blogs.enterprisedb.com/2014/09/24/postgres-outperforms-mongodb-and-ushers-in-new-developer-reality/</url></story><parent_chain><item><author>tete</author><text>Did I miss something? MongoDB was never ever faster than Postgres. That&amp;#x27;s nothing new. Most of these things are clear when one reads the MongoDB docs:&lt;p&gt;MongoDB stores Metadata, (nearly) uncompressed on a per document basis, so of course it uses way more diskspace. It doesn&amp;#x27;t store the data in any efficient way either.&lt;p&gt;Also it&amp;#x27;s pretty much unoptimized, compared to Postgres which has been around for a really long time so it&amp;#x27;s kinda slow.&lt;p&gt;Many functions in MongoDB are actually implemented in JavaScript, not C. So that&amp;#x27;s also a factor, even when I guess it&amp;#x27;s not the big one here.&lt;p&gt;MongoDB has a lot of limitations that can really bite yo (document size even though that&amp;#x27;s the smallest (gridfs), how you can do indices, even limitations in how your  query can look like, etc&lt;p&gt;The only thing that&amp;#x27;s good about MongoDB is that it&amp;#x27;s nice for getting something up and running quickly and that it&amp;#x27;s a charm to scale (in many different kinds), compared to PostgreSQL. If PostgreSQL had something built in(!) coming at least close to that (and development has a strong focus there) it would be perfect.&lt;p&gt;For all these reasons many companies actually have hybrid systems, because sometimes one thing makes sense and sometimes the other.&lt;p&gt;The benchmark seems strange, cause there are many SQL and NoSQL databases that are faster and that&amp;#x27;s a kinda well-known fact. I think everyone who ever had to decide on a database system has known that, even without a benchmark.&lt;p&gt;This makes it kinda look like an advertisement (look at the company behind the blog).&lt;p&gt;Using PostgreSQL 9.3 with JSON for a while now and it&amp;#x27;s great. Also I know it is possible to scale PostgreSQL and it&amp;#x27;s really nice. Still a lot more complexity involved (again, depending on the use case).&lt;p&gt;Just use the right tool and please let&amp;#x27;s stop with such shallow comparisons, because I think it kinda harms the reputation of database engineers and system architects - and the authors of such comparison. When you look for real comparisons and example use cases, typical patterns or just some help one always stumbles across these things and they tend to quickly be out of date too, cause all well-known databases have a lot of active development going on.</text></item></parent_chain><comment><author>Nitramp</author><text>Is MongoDB&amp;#x27;s distribution and scaling story really nicer? A cluster story that&amp;#x27;s easy to set up but then doesn&amp;#x27;t actually work (loses data, fails in potentially catastrophic ways) sounds not all that useful.&lt;p&gt;&lt;a href=&quot;http://aphyr.com/posts/284-call-me-maybe-mongodb&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;aphyr.com&amp;#x2F;posts&amp;#x2F;284-call-me-maybe-mongodb&lt;/a&gt;</text></comment>