DBMS > PostgreSQL vs. PouchDB vs. Solr vs. Sqrrl vs. Tarantool
System Properties Comparison PostgreSQL vs. PouchDB vs. Solr vs. Sqrrl vs. Tarantool
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | PostgreSQL Xexclude from comparison | PouchDB Xexclude from comparison | Solr Xexclude from comparison | Sqrrl Xexclude from comparison | Tarantool Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sqrrl has been acquired by Amazon and became a part of Amazon Web Services. It has been removed from the DB-Engines ranking. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Widely used open source RDBMS Developed as objectoriented DBMS (Postgres), gradually enhanced with 'standards' like SQL | JavaScript DBMS with an API inspired by CouchDB | A widely used distributed, scalable search engine based on Apache Lucene | Adaptable, secure NoSQL built on Apache Accumulo | In-memory computing platform with a flexible data schema for efficiently building high-performance applications | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS with object oriented extensions, e.g.: user defined types/functions and inheritance. Handling of key/value pairs with hstore module. | Document store | Search engine | Document store Graph DBMS Key-value store Wide column store | Document store Key-value store Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Graph DBMS with Apache Age Spatial DBMS Vector DBMS with pgvector extension | Spatial DBMS | Spatial DBMS with Tarantool/GIS extension | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.postgresql.org | pouchdb.com | solr.apache.org | sqrrl.com | www.tarantool.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | www.postgresql.org/docs | pouchdb.com/guides | solr.apache.org/resources.html | www.tarantool.io/en/doc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | PostgreSQL Global Development Group www.postgresql.org/developer | Apache Software Foundation | Apache Software Foundation | Amazon originally Sqrrl Data, Inc. | VK | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1989 1989: Postgres, 1996: PostgreSQL | 2012 | 2006 | 2012 | 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 16.2, February 2024 | 7.1.1, June 2019 | 9.5.0, February 2024 | 2.10.0, May 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source BSD | Open Source | Open Source Apache Version 2 | commercial | 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. | Aiven for PostgreSQL: Fully managed PostgreSQL for developers with 70+ extensions and flexible orchestration tools. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C | JavaScript | Java | Java | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | FreeBSD HP-UX Linux NetBSD OpenBSD OS X Solaris Unix Windows | server-less, requires a JavaScript environment (browser, Node.js) | All OS with a Java VM runs as a servlet in servlet container (e.g. Tomcat, Jetty is included) | Linux | BSD Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | yes Dynamic Fields enables on-the-fly addition of new fields | schema-free | 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 | no | yes supports customizable data types and automatic typing | 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. | yes specific XML-type available, but no XML query functionality. | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes via views | yes All search fields are automatically indexed | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes standard with numerous extensions | no | Solr Parallel SQL Interface | no | Full-featured ANSI SQL support | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC native C library ODBC streaming API for large objects | HTTP REST only for PouchDB Server JavaScript API | Java API RESTful HTTP/JSON API | Accumulo Shell Java API JDBC ODBC RESTful HTTP API Thrift | Open binary protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C C++ Delphi Java JDBC JavaScript (Node.js) Perl PHP Python Tcl | JavaScript | .Net Erlang Java JavaScript any language that supports sockets and either XML or JSON Perl PHP Python Ruby Scala | Actionscript C using GLib C# C++ Cocoa Delphi Erlang Go Haskell Java JavaScript OCaml Perl PHP Python Ruby Smalltalk | C C# C++ Erlang Go Java JavaScript Lua Perl PHP Python Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions realized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc. | View functions in JavaScript | Java plugins | no | Lua, C and SQL stored procedures | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes | yes User configurable commands triggered on index changes | no | yes, before/after data modification events, on replication events, client session events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | partitioning by range, list and (since PostgreSQL 11) by hash | Sharding with a proxy-based framework, named couchdb-lounge | Sharding | Sharding making use of Hadoop | 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 other methods possible by using 3rd party extensions | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | yes | selectable replication factor making use of Hadoop | 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 | no | yes | spark-solr: github.com/lucidworks/spark-solr and streaming expressions to reduce | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency | Eventual Consistency | Immediate Consistency Document store kept consistent with combination of global timestamping, row-level transactions, and server-side consistency resolution. | 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 | yes | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | no | optimistic locking | Atomic updates per row, document, or graph entity | 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, cooperative multitasking | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes by using IndexedDB, WebSQL or LevelDB as backend | yes | yes | yes, write ahead logging | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes | yes, full featured in-memory storage engine with persistence | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | no | yes | Cell-level Security, Data-Centric Security, Role-Based Access Control (RBAC), Attribute-Based Access Control (ABAC) | 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 | Aiven for PostgreSQL: Fully managed PostgreSQL for developers with 70+ extensions and flexible orchestration tools.
» more Fujitsu Enterprise Postgres: An Enterprise Grade PostgreSQL with the flexibility of a hybrid cloud solution combined with industry leading security, availability and performance. » more Redgate webinars: A series of key topics for new PostgreSQL users. » more Timescale: Calling all PostgreSQL users – the 2023 State of PostgreSQL survey is now open! Share your favorite extensions, preferred frameworks, community experiences, and more. Take the survey today! » 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 Instaclustr: Fully Hosted & Managed PostgreSQL » more SharePlex is the reliable and affordable data replication solution for PostgreSQL migrations, high availability and more. » more pgDash: In-Depth PostgreSQL Monitoring. » more 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PostgreSQL | PouchDB | Solr | Sqrrl | 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 | New kids on the block: database management systems implemented in JavaScript | Elasticsearch replaced Solr as the most popular search engine Enterprise Search Engines almost double their popularity in the last 12 months The DB-Engines ranking includes now search engines | Data processing speed and reliability: in-memory synchronous replication Monitoring PostgreSQL with Redgate Monitor Handle tables without primary keys while creating Amazon Aurora PostgreSQL zero-ETL integrations with Amazon ... Breaking Boundaries: PostgreSQL 16 is now available on IBM Cloud pgEdge Distributed PostgreSQL Introduces Automatic DDL Replication and Snowflake Sequences for Postgres Introducing OCI Database with PostgreSQL: Completing Our Cloud Database Suite for Every Need Oracle Introduces PostgreSQL Running Native on OCI provided by Google News Building an Offline First App with PouchDB — SitePoint Getting Started with PouchDB Client-Side JavaScript Database — SitePoint 3 Reasons To Think Offline First Offline-first web and mobile apps: Top frameworks and components Create Offline Web Apps Using Service Workers & PouchDB — SitePoint provided by Google News SOLR-led walkout demands better conditions for Compass workers Closing Bell: Solar Alliance Energy Inc flat on Tuesday (SOLR) Long Term Trading Analysis for (SOLR) Best Practices from Rackspace for Modernizing a Legacy HBase/Solr Architecture Using AWS Services | Amazon Web ... SOLR hosts teach-in of labor movements at Northwestern provided by Google News Amazon acquires cybersecurity startup Sqrrl Millennials possess the advantage of time for wealth creation, says Yashoraj Tyagi of Sqrrl Amazon's cloud business acquires Sqrrl, a security start-up with NSA roots AWS beefs up threat detection with Sqrrl acquisition Will Amazon Buy Cybersecurity Firm Sqrrl? provided by Google News TaranHouse: New Big Data Warehouse Announced by Tarantool In-Memory Showdown: Redis vs. Tarantool Deploying Tarantool Cartridge applications with zero effort (Part 1) Deploying Tarantool Cartridge applications with zero effort (Part 2) Тarantool Cartridge: Sharding Lua Backend in Three Lines provided by Google News |
Share this page