Live data from Hacker News

PostgreSQL Outperforms MongoDB in New Round of Tests

blogs.enterprisedb.com

61–70 of 171 posts

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#61

Will be great if PostgreSQL ends up as a storage engine option in MongoDB like InnoDB. Then you have the better engine of PostgreSQL with the superior clustering, sharding and end user experience of MongoDB. That said these articles are pretty pointless. Performance isn't the reason companies are switching to MongoDB.

Are you confusing MySQL and MongoDB? InnoDB is a MySQL storage engine.

threeseed probably wants to use Postgres as a robust transactional backend for MongoDB much like InnoDB is used as a robust transactional engine for MySQL. (There is TokuMX that might fit that use case also).

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#62

Will be great if PostgreSQL ends up as a storage engine option in MongoDB like InnoDB. Then you have the better engine of PostgreSQL with the superior clustering, sharding and end user experience of MongoDB. That said these articles are pretty pointless. Performance isn't the reason companies are switching to MongoDB.

Are you confusing MySQL and MongoDB? InnoDB is a MySQL storage engine.

The idea is that postgres would be a storage engine for mongodb, like innodb is a storage engine for mysql

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#63
post #49

I never really "got" the new wave of NoSQL databases. Mongo seemed to be the one I could most easily wrap my head around, but still. I was never sure, though, if that meant I had never faced a problem suitable for one of these DBMSs or if my mind is just so warped by years of using relational engines (mostly Postgres, or SQLite for simple projects) that I could not think of modeling my data any other way. Recently th…

It is for storing huge number of data with dynamic keys.

For example when site admin says "I want new archive that I can fill with items, items will have Id (automatically), Name (string), IsMale (bool)". He also want to do complex queries on this data as well. That's where NoSQL comes to help.

And to answer why exactly MongoDb is so popular - it's because it has awesome driver support for every popular language.

I don't understand what's so hard to understand here. It's a simple solution to EAV/nulltable nightmare.

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#64

Earlier quoted context omitted.

Are you confusing MySQL and MongoDB? InnoDB is a MySQL storage engine.

The idea is that postgres would be a storage engine for mongodb, like innodb is a storage engine for mysql

I don't think MongoDB would have much left to do, if PostgreSQL was doing the storage duties. The converse - implementing the MongoDB protocol within PostgreSQL, as mentioned above (mongolike), sounds like a more sensible proposal.

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#65
Did I miss something? MongoDB was never ever faster than Postgres. That's nothing new. Most of these things are clear when one reads the MongoDB docs:

MongoDB stores Metadata, (nearly) uncompressed on a per document basis, so of course it uses way more diskspace. It doesn't store the data in any efficient way either.

Also it's pretty much unoptimized, compared to Postgres which has been around for a really long time so it's kinda slow.

Many functions in MongoDB are actually implemented in JavaScript, not C. So that's also a factor, even when I guess it's not the big one here.

MongoDB has a lot of limitations that can really bite yo (document size even though that's the smallest (gridfs), how you can do indices, even limitations in how your query can look like, etc

The only thing that's good about MongoDB is that it's nice for getting something up and running quickly and that it'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.

For all these reasons many companies actually have hybrid systems, because sometimes one thing makes sense and sometimes the other.

The benchmark seems strange, cause there are many SQL and NoSQL databases that are faster and that'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.

This makes it kinda look like an advertisement (look at the company behind the blog).

Using PostgreSQL 9.3 with JSON for a while now and it's great. Also I know it is possible to scale PostgreSQL and it's really nice. Still a lot more complexity involved (again, depending on the use case).

Just use the right tool and please let'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.

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#66
Any articles coming from a company which describes itself as "The Postgres Database Company" and sells "a relational database management system based on PostgreSQL..." [1][2] stating than "PostgreSQL outperforms X" is de facto suspicious.

[1]: https://www.google.fr/?q=enterprisedb#q=enterprisedb

[2]: http://en.wikipedia.org/wiki/EnterpriseDB

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#67

Any articles coming from a company which describes itself as "The Postgres Database Company" and sells "a relational database management system based on PostgreSQL..." [1][2] stating than "PostgreSQL outperforms X" is de facto suspicious. [1]: https://www.google.fr/?q=enterprisedb#q=enterprisedb [2]: http://en.wikipedia.org/wiki/EnterpriseDB

They employ several of the main developers of community PostgreSQL and also sell commercial versions of the database.

Why does that make this article suspicious? Obviously they stand to benefit from more people using PostgreSQL, but they've been exceedingly clear with their methodology - their benchmark is available on Github: https://github.com/EnterpriseDB/pg_nosql_benchmark.

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#68

I'm sort of struggling to imagine anyone really using MongoDB at all in a couple of years. But then again, plenty of shops still use MySQL (and one of my clients uses DB2...).

What's wrong with DB2? I know it's commercial and a bit arcane in areas, but it's a far more powerful database than MySQL.

It depends. DB2 comes in several editions. The DB2 that IBM mostly sells nowadays is ok but there's also DB2/400, which -as the name suggests - comes with all sorts of quirks and funny mainframey limitations.

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#69

This is very interesting. Around when MongoDB was quickly becoming the cool thing to do I'd ask people about why it is better than just storing things in Postgres. People would have answers that would be grammatically correct but would not make any sense. That being said, I find it weird that now it is cool to make fun of MongoDB. Some people on this thread have even said they want to know if a service is using Mongo…

> Stripe (who store your money related stuff in MongoDB)

That's a bit scary. There has been several successful attacks against virtual currency exchanges that use MongoDB, utilizing the eventual consistency to your advantage.

If you handle money, you don't want any inconsistencies in your database, no matter how temporary. You can work around these of course but you really need to know what you're doing.

Re: PostgreSQL Outperforms MongoDB in New Round of Tests

#70
post #49

I never really "got" the new wave of NoSQL databases. Mongo seemed to be the one I could most easily wrap my head around, but still. I was never sure, though, if that meant I had never faced a problem suitable for one of these DBMSs or if my mind is just so warped by years of using relational engines (mostly Postgres, or SQLite for simple projects) that I could not think of modeling my data any other way. Recently th…

It is for storing huge number of data with dynamic keys. For example when site admin says "I want new archive that I can fill with items, items will have Id (automatically), Name (string), IsMale (bool)". He also want to do complex queries on this data as well. That's where NoSQL comes to help. And to answer why exactly MongoDb is so popular - it's because it has awesome driver support for every popular language. I d…

The nice thing about using an RDBMS with JSON support, rather than a NoSQL solution, is that you can store all the fixed-schema stuff in column as usual, and benefit from the performance, consistency, ease of joins and so on with that, but you can also store your JSON documents alongside that data in the same table, efficiently indexed.
Post reply on HN