Over a million developers have joined DZone.

PostgreSQL vs. MongoDB - FIGHT!

DZone's Guide to

PostgreSQL vs. MongoDB - FIGHT!

· Database Zone ·
Free Resource

Slow SQL Server? These SentryOne resources share tips and tricks for not only troubleshooting SQL Server performance issues, but also preventing them before they hit your production environment.

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?

Database monitoring tools letting you down? See how SentryOne empowers Enterprises to go faster.

sql ,nosql ,enterprisedb ,mongodb ,postgresql

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}