DB-EnginesExtremeDB: mitigate connectivity issues in a DBMSEnglish
Deutsch
Knowledge Base of Relational and NoSQL Database Management Systemsprovided by solid IT

DBMS > PouchDB vs. SwayDB vs. Tarantool vs. XTDB

System Properties Comparison PouchDB vs. SwayDB vs. Tarantool vs. XTDB

Please select another system to include it in the comparison.

Editorial information provided by DB-Engines
NamePouchDB  Xexclude from comparisonSwayDB  Xexclude from comparisonTarantool  Xexclude from comparisonXTDB infoformerly named Crux  Xexclude from comparison
DescriptionJavaScript DBMS with an API inspired by CouchDBAn embeddable, non-blocking, type-safe key-value store for single or multiple disks and in-memory storageIn-memory computing platform with a flexible data schema for efficiently building high-performance applicationsA general purpose database with bitemporal SQL and Datalog and graph queries
Primary database modelDocument storeKey-value storeDocument store
Key-value store
Relational DBMS
Document store
Secondary database modelsSpatial DBMS infowith Tarantool/GIS extension
DB-Engines Ranking infomeasures the popularity of database management systemsranking trend
Trend Chart
Score2.28
Rank#115  Overall
#21  Document stores
Score0.00
Rank#382  Overall
#59  Key-value stores
Score1.72
Rank#144  Overall
#25  Document stores
#25  Key-value stores
#66  Relational DBMS
Score0.11
Rank#343  Overall
#46  Document stores
Websitepouchdb.comswaydb.simer.auwww.tarantool.iogithub.com/­xtdb/­xtdb
www.xtdb.com
Technical documentationpouchdb.com/­guideswww.tarantool.io/­en/­docwww.xtdb.com/­docs
DeveloperApache Software FoundationSimer PlahaVKJuxt Ltd.
Initial release2012201820082019
Current release7.1.1, June 20192.10.0, May 20221.19, September 2021
License infoCommercial or Open SourceOpen SourceOpen Source infoGNU Affero GPL V3.0Open Source infoBSD-2, source-available extensions (modules), commercial licenses for Tarantool EnterpriseOpen Source infoMIT License
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 languageJavaScriptScalaC and C++Clojure
Server operating systemsserver-less, requires a JavaScript environment (browser, Node.js)BSD
Linux
macOS
All OS with a Java 8 (and higher) VM
Linux
Data schemeschema-freeschema-freeFlexible data schema: relational definition for tables with ability to store json-like documents in columnsschema-free
Typing infopredefined data types such as float or datenonostring, double, decimal, uuid, integer, blob, boolean, datetimeyes, extensible-data-notation format
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.nononono
Secondary indexesyes infovia viewsnoyesyes
SQL infoSupport of SQLnonoFull-featured ANSI SQL supportlimited SQL, making use of Apache Calcite
APIs and other access methodsHTTP REST infoonly for PouchDB Server
JavaScript API
Open binary protocolHTTP REST
JDBC
Supported programming languagesJavaScriptJava
Kotlin
Scala
C
C#
C++
Erlang
Go
Java
JavaScript
Lua
Perl
PHP
Python
Rust
Clojure
Java
Server-side scripts infoStored proceduresView functions in JavaScriptnoLua, C and SQL stored proceduresno
Triggersyesnoyes, before/after data modification events, on replication events, client session eventsno
Partitioning methods infoMethods for storing different data on different nodesSharding infowith a proxy-based framework, named couchdb-loungenoneSharding, partitioned with virtual buckets by user defined affinity key. Live resharding for scale up and scale down without maintenance downtime.none
Replication methods infoMethods for redundantly storing data on multiple nodesMulti-source replication infoalso with CouchDB databases
Source-replica replication infoalso with CouchDB databases
noneAsynchronous replication with multi-master option
Configurable replication topology (full-mesh, chain, star)
Synchronous quorum replication (with Raft)
yes, each node contains all data
MapReduce infoOffers an API for user-defined Map/Reduce methodsyesnono
Consistency concepts infoMethods to ensure consistency in a distributed systemEventual 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 integritynonoyesno
Transaction concepts infoSupport to ensure data integrity after non-atomic manipulations of datanoAtomic execution of operationsACID, with serializable isolation and linearizable read (within partition); Configurable MVCC (within partition); No cross-shard distributed transactionsACID
Concurrency infoSupport for concurrent manipulation of datayesyes, cooperative multitaskingyes
Durability infoSupport for making data persistentyes infoby using IndexedDB, WebSQL or LevelDB as backendyesyes, write ahead loggingyes, flexibel persistency by using storage technologies like Apache Kafka, RocksDB or LMDB
In-memory capabilities infoIs there an option to define some or all structures to be held in-memory only.yesyesyes, full featured in-memory storage engine with persistence
User concepts infoAccess controlnonoAccess 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
PouchDBSwayDBTarantoolXTDB infoformerly named Crux
DB-Engines blog posts

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

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

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

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

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

provided by Google News

TaranHouse: New Big Data Warehouse Announced by Tarantool
4 April 2018, Newswire

In-Memory Showdown: Redis vs. Tarantool
1 September 2021, Хабр

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, Хабр

Deploying Tarantool Cartridge applications with zero effort (Part 2)
13 April 2020, Хабр

provided by Google News



Share this page

Featured Products

Milvus logo

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

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.

RaimaDB logo

RaimaDB, embedded database for mission-critical applications. When performance, footprint and reliability matters.
Try RaimaDB for free.

SingleStore logo

Build AI apps with Vectors on SQL and JSON with milliseconds response times.
Try it today.

Present your product here