MongoDB is an open source document-oriented database system. It is part of the NoSQL family of database systems. Instead of storing data in tables as is done in a "classical" relational database, MongoDB stores structured data as JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster.
$0
per month
PostgreSQL
Score 8.3 out of 10
N/A
PostgreSQL (alternately Postgres) is a free and open source object-relational database system boasting over 30 years of active development, reliability, feature robustness, and performance. It supports SQL and is designed to support various workloads flexibly.
N/A
Pricing
MongoDB
PostgreSQL
Editions & Modules
Shared
$0
per month
Serverless
$0.10million reads
million reads
Dedicated
$57
per month
No answers on this topic
Offerings
Pricing Offerings
MongoDB
PostgreSQL
Free Trial
Yes
No
Free/Freemium Version
Yes
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
Fully managed, global cloud database on AWS, Azure, and GCP
—
More Pricing Information
Community Pulse
MongoDB
PostgreSQL
Features
MongoDB
PostgreSQL
NoSQL Databases
Comparison of NoSQL Databases features of Product A and Product B
MongoDB [is] great at storing JSON data grouped into "collections". In this format, you can store any JSON documents and conveniently categorize them by collections. The JSON document contained in MongoDB is called binary JSON or BSON and, like any other document in this format, is unstructured. Therefore, unlike traditional DBMS, any kind of data can be stored in collections, and this flexibility is combined with the horizontal scalability of the database. It should be noted that MongoDB does not have links between documents and “collections” (this is partially compensated by the Database Reference - links in the DBMS, but this does not completely solve the problem). As a result, a situation arises in which there is a certain set of data that is not related to other information in the database, and there is no way to combine data from different documents. In SQL systems, this would be an elementary task.
PostgreSQL is ideal for handling databases that contain large volumes of information due to its efficiency, speed and above all because of the good management it makes of our resources, it also behaves very well in distributed environments of high demand, if you want a database of stable data and excellent performance PostgreSQL is one of the best.
Easy to learn. When I picked up MongoDB for the first time, I had little background in database management or modeling. If you have a background in javascript (and JSON)... then you can figure out how to use MongoDB pretty fast.
Fast performance.
It's relatively easy to set up in certain environments because there are lots of ready-made solutions out there.
There's a lot of support in the existing ecosystem for it —, especially in the node.js realm.
Query syntax is pretty simple to grasp and utilize.
Aggregate functions are powerful.
Scaling options.
Documentation is quite good and versioned for each release.
The performance of PostgreSQL has been enhanced through the years, but always is better to have as much performance as we can.
The replication services could be done directly within the database, and more easily.
The Object Orientation of the Database could be extended, and albeit it manages inheritance of tables, and accepts XML and JSON as primary types, it would be wonderful if one could attach methods more easily to tables (to make them more like classes), and instances (rows for example).
MongoDB is one of the most famous non-relational databases in the world, there are famous active projects that use this database. I think that the same company that develops the database gives you the online induction totally free is something that really is very positive. Accounts with a first-class support to be able to relate the correct implementation of the database, in addition to teaching you the best practices to optimize your projects, I believe that with this decision it is more than obvious which is the best decision at the time of seeing with which database to work.
It is one of the reasons why we prefer it to store documents in a JSON-style format, to access the desired document very quickly regardless of its size, to be readable by human eyes, and to be easily scalable and manageable.
Postgresql is the best tool out there for relational data so I have to give it a high rating when it comes to analytics, data availability and consistency, so on and so forth. SQL is also a relatively consistent language so when it comes to building new tables and loading data in from the OLTP database, there are enough tools where we can perform ETL on a scalable basis.
The data queries are relatively quick for a small to medium sized table. With complex joins, and a wide and deep table however, the performance of the query has room for improvement.
I have reached multiple times to the MongoDB community for the help and they have provided each and easy solution for every problem. Over the internet and on stack overflow many people responds over the challenges. Now this tool is very much used in every company and projects so internally many people are there to give a support.
AWS, Heroku, and Digital Ocean all provide Postgres-as-a-service, where you pretty much never need to administrate it yourself but they do it for you. The Postgres community also has developed awesome and reasonably priced extensions, such as Citus DB and CockroachDB in case you need additional support for running it. If you need documentation, Postgres's docs are super thorough and their official forms are active.
The online training is request based. Had there been recorded videos available online for potential users to benefit from, I could have rated it higher. The online documentation however is very helpful. The online documentation PDF is downloadable and allows users to pace their own learning. With examples and code snippets, the documentation is great starting point.
While the setup and configuration of MongoDB is pretty straight forward, having a vendor that performs automatic backups and scales the cluster automatically is very convenient. If you do not have a system administrator or DBA familiar with MongoDB on hand, it's a very good idea to use a 3rd party vendor that specializes in MongoDB hosting. The value is very well worth it over hosting it yourself since the cost is often reasonable among providers.
The environment I work in is somewhat unique in that we use both MySQL and MongoDB. However, each is used for specific purposes that the other is not well suited for. MongoDB is not a relational database like MySQL, so it serves as the perfect place to dump key bits of data for quick retrieval later. This is something we can't easily do with MySQL. On this smaller database, MongoDB also lets us retrieve data more quickly with its fast and efficient querying.
In this case, Postgres is preferred because it handles large data sets and requires fewer hardware resources than its competitor, MySQL. Compared to PostgreSQL, Microsoft products are excellent, but the installation process for MS SQL is lengthy. PostgreSQL has an advantage over its competitors in that it can adapt or configure third-party programs, applications, or settings.
We can make more open and flexible systems due to its easy adaptation to new evolutions in web applications.
In the latest versions it offers support for different transactions and we could carry out real tests related to the concurrency of the application.
MongoDB allows you to have distributed clusters, which improves the speed of the queries by reducing the latency that exists between the database cluster and the service that executes the query.
Easy to administer so our DevOps team has only ever used minimal time to setup, tune, and maintain.
Easy to interface with so our Engineering team has only ever used minimal time to query or modify the database. Getting the data is straightforward, what we do with it is the bigger concern.