When comparing PostgreSQL vs MarkLogic, the Slant community recommends PostgreSQL for most people. In the question“What are the best databases for building social network like apps?” PostgreSQL is ranked 1st while MarkLogic is ranked 11th. The most important reason people chose PostgreSQL is:
PostgreSQL performance increases with each release, this is also proven by many benchmark tests. Notable performance features include: * As PostgreSQL only supports one storage engine, it has been able to integrate and optimise it and with the rest of the database. This has resulted in multiple benefits such as the ability to allow different transaction types to co-exist efficiently without the need to select storage engine types once for each table ahead of time. * On the fly data compression resulting in less IO required for reading. * Asynchronous + synchronous Replication. * PostgreSQL supports a asynchronous API for use by client applications. It is reported to increase performance by up to 40% and is not supported by MySQL. * Designed to scale very well with large numbers of cores at high concurrency levels.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro High performance
PostgreSQL performance increases with each release, this is also proven by many benchmark tests.
Notable performance features include:
As PostgreSQL only supports one storage engine, it has been able to integrate and optimise it and with the rest of the database. This has resulted in multiple benefits such as the ability to allow different transaction types to co-exist efficiently without the need to select storage engine types once for each table ahead of time.
On the fly data compression resulting in less IO required for reading.
Asynchronous + synchronous Replication.
PostgreSQL supports a asynchronous API for use by client applications. It is reported to increase performance by up to 40% and is not supported by MySQL.
Designed to scale very well with large numbers of cores at high concurrency levels.
Pro Fully ACID compliant
PostgreSQL is known to have a very holistic approach to robustness and data integrity which is reflected by it being fully ACID compliant.
PostgreSQL has always been strict about making sure data is valid before allowing it into the database, and there is no way for a client to bypass those checks.
Depending on your requirements, ACID compliance might be important.
Pro Strong community
PostgreSQL has a strong community backing it, with guides, tutorials and support for any kind of problem a developer may have.
Pro Support for JSON data type
JSON data can be stored as a column with optional indexes. In 9.4 (upcoming at the time of this writing), JSONB will be a binary version of JSON that will save space. It's like the best of the NO-SQL world without having to give up ACID and Relationships. This means that cascading deletes can be done in a single Transaction across multiple JSON documents.
Pro Actively developed
Regular fixes and features are released
Pro Support for geographic objects
PostgreSQL can be extended to have geographic object support through PostGIS and allows for location queries to be run through SQL.
Pro Multiple node packages available
There are many packages (like Sequelize) that integrate deeply with the features Postgres offers.
Pro Support Perl and Python for coding stored procedures
Postgres supports popular languages for coding stored procedures, such as Perl and Python. So, you can fairly easy transform just DB-server to reliable Service with complex business logic.
Pro Open Source, powerful and on par with other paid RDBMS'
It is a powerful, open source product that has all the bells and whistles when compared with its costly, proprietary counterparts.
Pro High performance graph database
While known as a document-oriented noSQL database, MarkLogic also provides a standards-compliant triple store that can be used to enrich document-shaped data with semantic links.
Pro Enterprise strength security and transactions
The two fatal flaws of many open source solutions is lack of integrated security at the element level and full ACID transaction support. MarkLogic has both and is trusted with some of the worlds most sensitive data. It is the engine that powers healthcare.gov, which despite some early problems (not caused by MarkLogic) is an amazing technological achievement.
Pro Multi-model database
MarkLogic supports text, documents, key-value/tuple, graphs, tables and object models that don't require extensive data-modeling and normalization that is part of the lifecycle process of relational database management systems. For sites similar to LinkedIn, Facebook, IMDB and even search engines, MarkLogic provides a unique set of features that are all in one box.
Pro No ETL Required
MarkLogic can store all your enterprise data in it's original format without needing to know a schema in advanced. You can shove pretty much any structured or unstructured data directly into MarkLogic, and it will automatically index everything and make it available for future processing. Of course it is fully schema aware and will apply and enforce schema constraints when available, but the tedious normalization that is required for relational databases is not necessary.
Cons
Con Not suited for small apps
Because of it's complexity and power, it may be an overkill to use PostgreSQL in small applications that will not make use of it's full power.
Con Lack of experts
MarkLogic is not as popular as some of it's peers, and even though it is highly standards-based, the pool of talent that is well-versed in the underlying technology is small compared with some competing platforms (e.g, Oracle, IBM, Apache).
Con Enterprise software is not open source and can get expensive. Not for casual projects.
MarkLogic can be downloaded and implemented in development environments for free. However, for production use, it is priced for enterprises, not startups with tight budgets. Open source requires a lot more elbow grease to do the same thing.