DBMS > Percona Server for MongoDB vs. PostgreSQL vs. searchxml vs. SingleStore vs. Tarantool
System Properties Comparison Percona Server for MongoDB vs. PostgreSQL vs. searchxml vs. SingleStore vs. Tarantool
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Percona Server for MongoDB Xexclude from comparison | PostgreSQL Xexclude from comparison | searchxml Xexclude from comparison | SingleStore former name was MemSQL Xexclude from comparison | Tarantool Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | Widely used open source RDBMS Developed as objectoriented DBMS (Postgres), gradually enhanced with 'standards' like SQL | DBMS for structured and unstructured content wrapped with an application server | MySQL wire-compliant distributed RDBMS that combines an in-memory row-oriented and a disc-based column-oriented storage with patented universal storage to handle transactional and analytical workloads in one single table type | In-memory computing platform with a flexible data schema for efficiently building high-performance applications | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Relational DBMS with object oriented extensions, e.g.: user defined types/functions and inheritance. Handling of key/value pairs with hstore module. | Native XML DBMS Search engine | Relational DBMS | Document store Key-value store Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Graph DBMS with Apache Age Spatial DBMS Vector DBMS with pgvector extension | Document store Spatial DBMS Time Series DBMS Vector DBMS | Spatial DBMS with Tarantool/GIS extension | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.percona.com/mongodb/software/percona-server-for-mongodb | www.postgresql.org | www.searchxml.net/category/products | www.singlestore.com | www.tarantool.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.percona.com/percona-distribution-for-mongodb | www.postgresql.org/docs | www.searchxml.net/support/handouts | docs.singlestore.com | www.tarantool.io/en/doc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Percona | PostgreSQL Global Development Group www.postgresql.org/developer | informationpartners gmbh | SingleStore Inc. | VK | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2015 | 1989 1989: Postgres, 1996: PostgreSQL | 2015 | 2013 | 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.4.10-2.10, November 2017 | 16.4, August 2024 | 1.0 | 8.5, January 2024 | 2.10.0, May 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source GPL Version 2 | Open Source BSD | commercial | commercial free developer edition available | Open Source BSD-2, source-available extensions (modules), commercial licenses for Tarantool Enterprise | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | PostgreSQL Flex @ STACKIT offers managed PostgreSQL Instances with adjustable CPU, RAM, storage amount and speed and several extensions available, in enterprise grade to perfectly match all application requirements. All 100% GDPR-compliant. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C++ | C | C++ | C++, Go | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | FreeBSD HP-UX Linux NetBSD OpenBSD OS X Solaris Unix Windows | Windows | Linux 64 bit version required | BSD Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | schema-free | yes | Flexible data schema: relational definition for tables with ability to store json-like documents in columns | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | yes | string, double, decimal, uuid, integer, blob, boolean, datetime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | no | yes specific XML-type available, but no XML query functionality. | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | yes standard with numerous extensions | no | yes but no triggers and foreign keys | Full-featured ANSI SQL support | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | proprietary protocol using JSON | ADO.NET JDBC native C library ODBC streaming API for large objects | RESTful HTTP API WebDAV XQuery XSLT | Cluster Management API as HTTP Rest and CLI HTTP API JDBC MongoDB API ODBC | Open binary protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Actionscript C C# C++ Clojure ColdFusion D Dart Delphi Erlang Go Groovy Haskell Java JavaScript Lisp Lua MatLab Perl PHP PowerShell Prolog Python R Ruby Scala Smalltalk | .Net C C++ Delphi Java JDBC JavaScript (Node.js) Perl PHP Python Tcl | C++ most other programming languages supported via APIs | Bash C C# Java JavaScript (Node.js) Python | C C# C++ Erlang Go Java JavaScript Lua Perl PHP Python Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | JavaScript | user defined functions realized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc. | yes on the application server | yes | Lua, C and SQL stored procedures | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | no | no | yes, before/after data modification events, on replication events, client session events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | partitioning by range, list and (since PostgreSQL 11) by hash | none | Sharding hash partitioning | Sharding, partitioned with virtual buckets by user defined affinity key. Live resharding for scale up and scale down without maintenance downtime. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | Source-replica replication other methods possible by using 3rd party extensions | yes sychronisation to multiple collections | Source-replica replication stores two copies of each physical data partition on two separate nodes | Asynchronous replication with multi-master option Configurable replication topology (full-mesh, chain, star) Synchronous quorum replication (with Raft) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | no | no can define user-defined aggregate functions for map-reduce-style calculations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | Casual consistency across sharding partitions Eventual consistency within replicaset partition when using asyncronous replication Immediate Consistency within single instance Sequential consistency including linearizable read within replicaset partition when using Raft | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | multiple readers, single writer | ACID | ACID, with serializable isolation and linearizable read (within partition); Configurable MVCC (within partition); No cross-shard distributed transactions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes, multi-version concurrency control (MVCC) | yes, cooperative multitasking | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes All updates are persistent, including those to disk-based columnstores and memory-based row stores. Transaction commits are supported via write-ahead log. | yes, write ahead logging | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes via In-Memory Engine | no | no | yes | yes, full featured in-memory storage engine with persistence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles | fine grained access rights according to SQL-standard | Domain, group and role-based access control at the document level and for application services | Fine grained access control via users, groups and roles | Access Control Lists Mutual TLS authentication for Tarantol Enterprise Password based authentication Role-based access control (RBAC) and LDAP for Tarantol Enterprise Users and Roles | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | CYBERTEC is your professional partner in PostgreSQL topics for over 20 years. As our main aim is to be your single-source all-in-one IT service provider, we offer a wide range of products and services. Visit our website for more details. » more Instaclustr: Fully Hosted & Managed PostgreSQL » more pgDash: In-Depth PostgreSQL Monitoring. » more Navicat for PostgreSQL is an easy-to-use graphical tool for PostgreSQL database development. » more Navicat Monitor is a safe, simple and agentless remote server monitoring tool for PostgreSQL and many other database management systems. » more SharePlex is the reliable and affordable data replication solution for PostgreSQL migrations, high availability and more. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Percona Server for MongoDB | PostgreSQL | searchxml | SingleStore former name was MemSQL | Tarantool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | PostgreSQL is the DBMS of the Year 2023 Snowflake is the DBMS of the Year 2022, defending the title from last year Snowflake is the DBMS of the Year 2021 | Turbocharge Your Application Development Using WebAssembly With SingleStoreDB Cloud-Based Analytics With SingleStoreDB SingleStore: The Increasing Momentum of Multi-Model Database Systems | Data processing speed and reliability: in-memory synchronous replication PASS Data Community Summit Percona launches management system aimed at open-source databases Percona Everest sets databases free Is database-as-a-service in Percona’s future? FerretDB goes GA: Gives you MongoDB, without the MongoDB... The essential guide to MongoDB security provided by Google News YugabyteDB 2.19 gets new PostgreSQL-compatibility features YugabyteDB evolves into a distributed PostgreSQL database for apps that need resilience and scale Intel Demonstrates Up To 48% Improvement For AVX-512 Optimized PostgreSQL PostgreSQL in line for DuckDB-shaped boost in analytics arena PostgreSQL databases under attack provided by Google News SingleStore Partners With Snowflake to Help Users Build Faster, More Efficient Real Time AI Applications Achieve near real-time analytics on Amazon DynamoDB with SingleStore Third time was the charm for SingleStore in the cloud, CEO says SingleStore CEO sees little future for purpose-built vector databases John Hinshaw Appointed to SingleStore Board of Directors provided by Google News Deploying Tarantool Cartridge applications with zero effort (Part 1) VShard — horizontal scaling in Tarantool Accelerating PHP connectors for Tarantool using Async, Swoole, and Parallel provided by Google News |
Share this page