DB-EnginesextremeDB - solve IoT connectivity disruptionsEnglish
Deutsch
Knowledge Base of Relational and NoSQL Database Management Systemsprovided by Redgate Software

DBMS > Datomic vs. KeyDB vs. PouchDB vs. RethinkDB

System Properties Comparison Datomic vs. KeyDB vs. PouchDB vs. RethinkDB

Please select another system to include it in the comparison.

Editorial information provided by DB-Engines
NameDatomic  Xexclude from comparisonKeyDB  Xexclude from comparisonPouchDB  Xexclude from comparisonRethinkDB  Xexclude from comparison
DescriptionDatomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durabilityAn ultra-fast, open source Key-value store fully compatible with Redis API, modules, and protocolsJavaScript DBMS with an API inspired by CouchDBDBMS for the Web with a mechanism to push updated query results to applications in realtime.
Primary database modelRelational DBMSKey-value storeDocument storeDocument store
Secondary database modelsSpatial DBMS
DB-Engines Ranking infomeasures the popularity of database management systemsranking trend
Trend Chart
Score1.55
Rank#144  Overall
#67  Relational DBMS
Score0.63
Rank#232  Overall
#32  Key-value stores
Score2.18
Rank#114  Overall
#21  Document stores
Score2.58
Rank#105  Overall
#20  Document stores
Websitewww.datomic.comgithub.com/­Snapchat/­KeyDB
keydb.dev
pouchdb.comrethinkdb.com
Technical documentationdocs.datomic.comdocs.keydb.devpouchdb.com/­guidesrethinkdb.com/­docs
DeveloperCognitectEQ Alpha Technology Ltd.Apache Software FoundationThe Linux Foundation infosince July 2017
Initial release2012201920122009
Current release1.0.7180, July 20247.1.1, June 20192.4.1, August 2020
License infoCommercial or Open Sourcecommercial infolimited edition freeOpen Source infoBSD-3Open SourceOpen Source infoApache Version 2
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 languageJava, ClojureC++JavaScriptC++
Server operating systemsAll OS with a Java VMLinuxserver-less, requires a JavaScript environment (browser, Node.js)Linux
OS X
Windows
Data schemeyesschema-freeschema-freeschema-free
Typing infopredefined data types such as float or dateyespartial infoSupported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexesnoyes infostring, binary, float, bool, date, geometry
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 indexesyesyes infoby using the Redis Search moduleyes infovia viewsyes
SQL infoSupport of SQLnononono
APIs and other access methodsRESTful HTTP APIProprietary protocol infoRESP - REdis Serialization ProtocoHTTP REST infoonly for PouchDB Server
JavaScript API
Supported programming languagesClojure
Java
C
C#
C++
Clojure
Crystal
D
Dart
Elixir
Erlang
Fancy
Go
Haskell
Haxe
Java
JavaScript (Node.js)
Lisp
Lua
MatLab
Objective-C
OCaml
Pascal
Perl
PHP
Prolog
Pure Data
Python
R
Rebol
Ruby
Rust
Scala
Scheme
Smalltalk
Swift
Tcl
Visual Basic
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
Server-side scripts infoStored proceduresyes infoTransaction FunctionsLuaView functions in JavaScript
TriggersBy using transaction functionsnoyesClient-side triggers through changefeeds
Partitioning methods infoMethods for storing different data on different nodesnone infoBut extensive use of caching in the application peersShardingSharding infowith a proxy-based framework, named couchdb-loungeSharding inforange based
Replication methods infoMethods for redundantly storing data on multiple nodesnone infoBut extensive use of caching in the application peersMulti-source replication
Source-replica replication
Multi-source replication infoalso with CouchDB databases
Source-replica replication infoalso with CouchDB databases
Source-replica replication
MapReduce infoOffers an API for user-defined Map/Reduce methodsnonoyesyes
Consistency concepts infoMethods to ensure consistency in a distributed systemImmediate ConsistencyEventual Consistency
Strong eventual consistency with CRDTs
Eventual ConsistencyImmediate Consistency
Foreign keys infoReferential integritynononono
Transaction concepts infoSupport to ensure data integrity after non-atomic manipulations of dataACIDOptimistic locking, atomic execution of commands blocks and scriptsnoAtomic single-document operations
Concurrency infoSupport for concurrent manipulation of datayesyesyes infoMVCC based
Durability infoSupport for making data persistentyes infousing external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others)yes infoConfigurable mechanisms for persistency via snapshots and/or operations logsyes infoby using IndexedDB, WebSQL or LevelDB as backendyes
In-memory capabilities infoIs there an option to define some or all structures to be held in-memory only.yes inforecommended only for testing and developmentyesyesno
User concepts infoAccess controlnosimple password-based access control and ACLnoyes infousers and table-level permissions

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
DatomicKeyDBPouchDBRethinkDB
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

Recent citations in the news

Brazil’s Nubank Acquires US Software Firm Cognitect
30 July 2020, Nearshore Americas

Lucas Cavalcanti on Using Clojure, Microservices, Hexagonal Architecture and Public Cloud at Nubank
16 August 2021, InfoQ.com

Brazil’s Nubank acquires US software firm Cognitect, creator of Clojure and Datomic
24 July 2020, LatamList

Nubank acquires US company; PayPal studies cryptocurrencies
24 July 2020, iupana.com

Zoona Case Study
16 December 2017, AWS Blog

provided by Google News

Snap snaps up database developer KeyDB to make its infrastructure more snappy
12 May 2022, TechCrunch

Introducing Garnet – an open-source, next-generation, faster cache-store for accelerating applications and services
18 March 2024, microsoft.com

Microsoft open-sources unique “Garnet” cache-store; a Redis rival?
19 March 2024, The Stack

Dragonfly 0.13 Database Adds Experimental SSD-Based Data Tiering, More SIMD Work
2 January 2023, Phoronix

Beyond the mainstream database offerings
26 March 2020, TechCentral.ie

provided by Google News

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

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

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

provided by Google News

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

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

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

How to deploy RethinkDB using Docker
14 February 2018, Packt Hub

Installing and Using RethinkDB on Ubuntu
8 April 2022, Open Source For You

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.

RaimaDB logo

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

Milvus logo

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

SingleStore logo

The data platform to build your intelligent applications.
Try it 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

Present your product here