DB-EnginesExtremeDB for everyone with an RTOSEnglish
Deutsch
Knowledge Base of Relational and NoSQL Database Management Systemsprovided by solid IT

DBMS > Citus vs. PouchDB vs. RethinkDB vs. Tarantool

System Properties Comparison Citus vs. PouchDB vs. RethinkDB vs. Tarantool

Please select another system to include it in the comparison.

Editorial information provided by DB-Engines
NameCitus  Xexclude from comparisonPouchDB  Xexclude from comparisonRethinkDB  Xexclude from comparisonTarantool  Xexclude from comparison
DescriptionScalable hybrid operational and analytics RDBMS for big data use cases based on PostgreSQLJavaScript DBMS with an API inspired by CouchDBDBMS for the Web with a mechanism to push updated query results to applications in realtime.In-memory computing platform with a flexible data schema for efficiently building high-performance applications
Primary database modelRelational DBMSDocument storeDocument storeDocument store
Key-value store
Relational DBMS
Secondary database modelsDocument storeSpatial DBMSSpatial DBMS infowith Tarantool/GIS extension
DB-Engines Ranking infomeasures the popularity of database management systemsranking trend
Trend Chart
Score2.15
Rank#117  Overall
#56  Relational DBMS
Score2.34
Rank#112  Overall
#21  Document stores
Score2.66
Rank#107  Overall
#20  Document stores
Score1.67
Rank#143  Overall
#25  Document stores
#25  Key-value stores
#65  Relational DBMS
Websitewww.citusdata.compouchdb.comrethinkdb.comwww.tarantool.io
Technical documentationdocs.citusdata.compouchdb.com/­guidesrethinkdb.com/­docswww.tarantool.io/­en/­doc
DeveloperApache Software FoundationThe Linux Foundation infosince July 2017VK
Initial release2010201220092008
Current release8.1, December 20187.1.1, June 20192.4.1, August 20202.10.0, May 2022
License infoCommercial or Open SourceOpen Source infoAGPL, commercial license also availableOpen SourceOpen Source infoApache Version 2Open Source infoBSD-2, source-available extensions (modules), commercial licenses for Tarantool Enterprise
Cloud-based only infoOnly available as a cloud servicenononono
DBaaS offerings (sponsored links) infoDatabase as a Service

Providers of DBaaS offerings, please contact us to be listed.
Implementation languageCJavaScriptC++C and C++
Server operating systemsLinuxserver-less, requires a JavaScript environment (browser, Node.js)Linux
OS X
Windows
BSD
Linux
macOS
Data schemeyesschema-freeschema-freeFlexible data schema: relational definition for tables with ability to store json-like documents in columns
Typing infopredefined data types such as float or dateyesnoyes infostring, binary, float, bool, date, geometrystring, double, decimal, uuid, integer, blob, boolean, datetime
XML support infoSome form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT.yes infospecific XML type available, but no XML query functionalitynonono
Secondary indexesyesyes infovia viewsyesyes
SQL infoSupport of SQLyes infostandard, with numerous extensionsnonoFull-featured ANSI SQL support
APIs and other access methodsADO.NET
JDBC
native C library
ODBC
streaming API for large objects
HTTP REST infoonly for PouchDB Server
JavaScript API
Open binary protocol
Supported programming languages.Net
C
C++
Delphi
Java
JavaScript (Node.js)
Perl
PHP
Python
Tcl
JavaScriptC infocommunity-supported driver
C# infocommunity-supported driver
C++ infocommunity-supported driver
Clojure infocommunity-supported driver
Dart infocommunity-supported driver
Erlang infocommunity-supported driver
Go infocommunity-supported driver
Haskell infocommunity-supported driver
Java infoofficial driver
JavaScript (Node.js) infoofficial driver
Lisp infocommunity-supported driver
Lua infocommunity-supported driver
Objective-C infocommunity-supported driver
Perl infocommunity-supported driver
PHP infocommunity-supported driver
Python infoofficial driver
Ruby infoofficial driver
Scala infocommunity-supported driver
C
C#
C++
Erlang
Go
Java
JavaScript
Lua
Perl
PHP
Python
Rust
Server-side scripts infoStored proceduresuser defined functions inforealized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc.View functions in JavaScriptLua, C and SQL stored procedures
TriggersyesyesClient-side triggers through changefeedsyes, before/after data modification events, on replication events, client session events
Partitioning methods infoMethods for storing different data on different nodesShardingSharding infowith a proxy-based framework, named couchdb-loungeSharding inforange basedSharding, partitioned with virtual buckets by user defined affinity key. Live resharding for scale up and scale down without maintenance downtime.
Replication methods infoMethods for redundantly storing data on multiple nodesSource-replica replication infoother methods possible by using 3rd party extensionsMulti-source replication infoalso with CouchDB databases
Source-replica replication infoalso with CouchDB databases
Source-replica replicationAsynchronous replication with multi-master option
Configurable replication topology (full-mesh, chain, star)
Synchronous quorum replication (with Raft)
MapReduce infoOffers an API for user-defined Map/Reduce methodsnoyesyes
Consistency concepts infoMethods to ensure consistency in a distributed systemImmediate ConsistencyEventual ConsistencyImmediate ConsistencyCasual consistency across sharding partitions
Eventual consistency within replicaset partition infowhen using asyncronous replication
Immediate Consistency within single instance
Sequential consistency including linearizable read within replicaset partition infowhen using Raft
Foreign keys infoReferential integrityyesnonoyes
Transaction concepts infoSupport to ensure data integrity after non-atomic manipulations of dataACIDnoAtomic single-document operationsACID, with serializable isolation and linearizable read (within partition); Configurable MVCC (within partition); No cross-shard distributed transactions
Concurrency infoSupport for concurrent manipulation of datayesyes infoMVCC basedyes, cooperative multitasking
Durability infoSupport for making data persistentyesyes infoby using IndexedDB, WebSQL or LevelDB as backendyesyes, write ahead logging
In-memory capabilities infoIs there an option to define some or all structures to be held in-memory only.noyesnoyes, full featured in-memory storage engine with persistence
User concepts infoAccess controlfine grained access rights according to SQL-standardnoyes infousers and table-level permissionsAccess 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 vendor

We invite representatives of system vendors to contact us for updating and extending the system information,
and for displaying vendor-provided information such as key customers, competitive advantages and market metrics.

Related products and services

We invite representatives of vendors of related products to contact us for presenting information about their offerings here.

More resources
CitusPouchDBRethinkDBTarantool
DB-Engines blog posts

New kids on the block: database management systems implemented in JavaScript
1 December 2014, Matthias Gelbmann

show all

Meet some database management systems you are likely to hear more about in the future
4 August 2014, Paul Andlinger

show all

Data processing speed and reliability: in-memory synchronous replication
9 November 2021,  Vladimir Perepelytsya, Tarantool (sponsor) 

show all

Recent citations in the news

Ubicloud wants to build an open source alternative to AWS
5 March 2024, TechCrunch

Microsoft acquires Citus Data, re-affirming its commitment to Open Source and accelerating Azure PostgreSQL ...
24 January 2019, Microsoft

Ubicloud reels in $16M for its open-source cloud platform
5 March 2024, SiliconANGLE News

Distributed PostgreSQL Benchmarks: Azure Cosmos DB, CockroachDB, and YugabyteDB
8 July 2023, InfoQ.com

Microsoft Benchmarks Distributed PostgreSQL DBs
10 July 2023, Datanami

provided by Google News

Building an Offline First App with PouchDB — SitePoint
10 March 2014, SitePoint

Getting Started with PouchDB Client-Side JavaScript Database — SitePoint
7 September 2016, SitePoint

3 Reasons To Think Offline First
22 March 2017, IBM

Create Offline Web Apps Using Service Workers & PouchDB — SitePoint
7 March 2017, SitePoint

Offline-first web and mobile apps: Top frameworks and components
22 January 2019, TechBeacon

provided by Google News

An introduction to building realtime apps with RethinkDB
9 July 2022, devm.io

How to Use RethinkDB with Node.js Applications — SitePoint
16 December 2015, SitePoint

Stripe acquires team behind NoSQL database startup RethinkDB
5 October 2016, VentureBeat

RethinkDB is dead, and MongoDB isn't what killed it
24 January 2017, TechRepublic

RethinkDB is shutting down, Qt Quick Controls, and Sensory gives developers Alexa voice control—SD Times news ...
6 October 2016, SDTimes.com

provided by Google News

Tarantool Announces New Enterprise Version With Enhanced Scaling and Monitoring Capabilities
18 May 2018, Newswire

Deploying Tarantool Cartridge applications with zero effort (Part 1)
16 December 2019, Хабр

VShard — horizontal scaling in Tarantool
7 March 2019, Хабр

Accelerating PHP connectors for Tarantool using Async, Swoole, and Parallel
18 December 2019, Хабр

provided by Google News



Share this page

Featured Products

Datastax Astra logo

Bring all your data to Generative AI applications with vector search enabled by the most scalable
vector database available.
Try for Free

Neo4j logo

See for yourself how a graph database can make your life easier.
Use Neo4j online for free.

Milvus logo

Vector database designed for GenAI, fully equipped for enterprise implementation.
Try Managed Milvus for Free

Present your product here