DB-EnginesInfluxDB: Focus on building software with an easy-to-use serverless, scalable time series platformEnglish
Deutsch
Knowledge Base of Relational and NoSQL Database Management Systemsprovided by solid IT

DBMS > Oracle Berkeley DB vs. PouchDB vs. SwayDB vs. Tarantool vs. XTDB

System Properties Comparison Oracle Berkeley DB vs. PouchDB vs. SwayDB vs. Tarantool vs. XTDB

Editorial information provided by DB-Engines
NameOracle Berkeley DB  Xexclude from comparisonPouchDB  Xexclude from comparisonSwayDB  Xexclude from comparisonTarantool  Xexclude from comparisonXTDB infoformerly named Crux  Xexclude from comparison
DescriptionWidely used in-process key-value storeJavaScript 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 modelKey-value store infosupports sorted and unsorted key sets
Native XML DBMS infoin the Oracle Berkeley DB XML version
Document 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.01
Rank#126  Overall
#21  Key-value stores
#3  Native XML DBMS
Score2.34
Rank#112  Overall
#21  Document stores
Score0.04
Rank#387  Overall
#61  Key-value stores
Score1.67
Rank#143  Overall
#25  Document stores
#25  Key-value stores
#65  Relational DBMS
Score0.18
Rank#332  Overall
#46  Document stores
Websitewww.oracle.com/­database/­technologies/­related/­berkeleydb.htmlpouchdb.comswaydb.simer.auwww.tarantool.iogithub.com/­xtdb/­xtdb
www.xtdb.com
Technical documentationdocs.oracle.com/­cd/­E17076_05/­html/­index.htmlpouchdb.com/­guideswww.tarantool.io/­en/­docwww.xtdb.com/­docs
DeveloperOracle infooriginally developed by Sleepycat, which was acquired by OracleApache Software FoundationSimer PlahaVKJuxt Ltd.
Initial release19942012201820082019
Current release18.1.40, May 20207.1.1, June 20192.10.0, May 20221.19, September 2021
License infoCommercial or Open SourceOpen Source infocommercial license availableOpen 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 servicenonononono
DBaaS offerings (sponsored links) infoDatabase as a Service

Providers of DBaaS offerings, please contact us to be listed.
Implementation languageC, Java, C++ (depending on the Berkeley DB edition)JavaScriptScalaC and C++Clojure
Server operating systemsAIX
Android
FreeBSD
iOS
Linux
OS X
Solaris
VxWorks
Windows
server-less, requires a JavaScript environment (browser, Node.js)BSD
Linux
macOS
All OS with a Java 8 (and higher) VM
Linux
Data schemeschema-freeschema-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 datenononostring, 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.yes infoonly with the Berkeley DB XML editionnononono
Secondary indexesyesyes infovia viewsnoyesyes
SQL infoSupport of SQLyes infoSQL interfaced based on SQLite is availablenonoFull-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 languages.Net infoFigaro is a .Net framework assembly that extends Berkeley DB XML into an embeddable database engine for .NET
others infoThird-party libraries to manipulate Berkeley DB files are available for many languages
C
C#
C++
Java
JavaScript (Node.js) info3rd party binding
Perl
Python
Tcl
JavaScriptJava
Kotlin
Scala
C
C#
C++
Erlang
Go
Java
JavaScript
Lua
Perl
PHP
Python
Rust
Clojure
Java
Server-side scripts infoStored proceduresnoView functions in JavaScriptnoLua, C and SQL stored proceduresno
Triggersyes infoonly for the SQL APIyesnoyes, before/after data modification events, on replication events, client session eventsno
Partitioning methods infoMethods for storing different data on different nodesnoneSharding 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 nodesSource-replica replicationMulti-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 methodsnoyesnono
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 integritynononoyesno
Transaction concepts infoSupport to ensure data integrity after non-atomic manipulations of dataACIDnoAtomic 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 persistentyesyes 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.yesyesyesyes, full featured in-memory storage engine with persistence
User concepts infoAccess controlnononoAccess 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
Oracle Berkeley DBPouchDBSwayDBTarantoolXTDB 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

Margo Seltzer Named ACM Athena Lecturer for Technical and Mentoring Contributions
26 April 2023, HPCwire

ACM recognizes far-reaching technical achievements with special awards
26 May 2021, EurekAlert

Oracle buys Sleepycat Software
14 February 2006, MarketWatch

Database Trends Report: SQL Beats NoSQL, MySQL Most Popular -- ADTmag
5 March 2019, ADT Magazine

Margo I. Seltzer | Berkman Klein Center
18 August 2020, Berkman Klein Center

provided by Google News

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

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

3 Reasons To Think Offline First
22 March 2017, ibm.com

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

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

provided by Google News

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

Тarantool Cartridge: Sharding Lua Backend in Three Lines
9 October 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

Neo4j logo

See for yourself how a graph database can make your life easier.
Use Neo4j online 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

Milvus logo

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

Present your product here