Over a million developers have joined DZone.

PostgreSQL vs. MongoDB - FIGHT!

DZone's Guide to

PostgreSQL vs. MongoDB - FIGHT!

· Database Zone ·
Free Resource

MariaDB TX, proven in production and driven by the community, is a complete database solution for any and every enterprise — a modern database for modern applications.

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?

MariaDB AX is an open source database for modern analytics: distributed, columnar and easy to use.

sql ,nosql ,enterprisedb ,mongodb ,postgresql

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}