NoSQL Comparison

Document/Relational Database Comparison

A smart approach to new technology demands a close evaluation of your needs and the tools available to meet those needs. The table below compares NoSQL Document oriented database (such as MongoDB) characteristics and Postgres' Relational / Document database characteristics to help you navigate matching the right solution to your requirements.

Features MongoDB PostgreSQL
Open Source Development Start 2009 1995
Schemas Dynamic Static and Dynamic
Supports Hierarchical Document Data Yes Yes (since 2012)
Supports Key-Value Data Yes Yes (since 2006)
Supports Relational Data / Normalized Form Storage No Yes
Data Constraints No Yes
Joining of Data and Foreign Keys No Yes
Powerful Query Language No Yes
Transaction Support and Multi Version Concurrency Controls No Yes
Atomic Transactions Within a Document Across the Database
Supported Web Development Languages JavaScript, Python, Ruby, more… JavaScript, Python, Ruby, more…
Common Web Data Format Support JSON (Document), Key-Value, XML JSON (Document), Key-Value, XML
Geo-spatial Support Yes Yes
Easiest path to Scaling Horizontal Scale Out Vertical Scale Up
Sharding Easy Complex
Server Side Programming None Many Procedural Languages like Python, JavaScript, C,C++, Tcl, Perl and many more
Easy Integration with Other Data Stores No Foreign Data Wrappers to Oracle, MySQL, MongoDB, CouchDB, Redis, Neo4j, Twitter, LDAP, File, Hadoop and more…
Business Logic Distributed Across Client Applications Centralized with Triggers & Stored Procedures or DIstributed across Client Applications
Skilled Resources Availability Difficult to Find Easy to Find
Primary Uses Big Data (billions of records) with high concurrency updates where data integrity and consistency are not required. Transactional & Operational Applications that benefit from normalized form, joins, data constraints and transactional support.


For more information about the JSON capabilities in Postgres...