Over a million developers have joined DZone.

PostgreSQL vs. MongoDB - FIGHT!

DZone's Guide to

PostgreSQL vs. MongoDB - FIGHT!

· Database Zone ·
Free Resource

Running out of memory? Learn how Redis Enterprise enables large dataset analysis with the highest throughput and lowest latency while reducing costs over 75%! 

EnterpriseDB recently published findings on a series of performance tests they ran in order to compare the PostgreSQL and MongoDB databases. In their results, they found that PostgreSQL performed better than MongoDB in many key areas. Their findings show:

  • Ingestion of high volumes of data was approximately 2.1 times faster in Postgres
  • MongoDB consumed 33% more the disk space
  • Data inserts took almost 3 times longer in MongoDB
  • Data selection took more than 2.5 times longer in MongoDB than in Postgres

(Credit: EnterpriseDB)

EnterpriseDB has posted the testing framework they used to perform their benchmark tests for public scrutiny. Still, there is some debate about the way EnterpriseDB handled their testing. One commenter said:

To be fair, the performance comparison with MongoDB (or for that matter any NoSQL/NewSQL DBs) should have been done with a multi-node Postgres cluster of say up to 10 nodes or more (using Postgres XC/XL, for example ). MongoDB is a NoSQL key-value store intended for large scale deployments (i.e. not to be used as a single instance DB) to provide the intended performance benefits on big data deployments. It would be interesting to see such a comparison.

EnterpriseDB responded to the post by arguing that "a multi-node node deployment of either database should [not] be required for a database of this size.

Still, the performance of PostgreSQL against MongoDB is impressive. What are your thoughts on these benchmark tests and their results?

Running out of memory? Never run out of memory with Redis Enterprise databaseStart your free trial today.

sql ,nosql ,enterprisedb ,mongodb ,postgresql

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}