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

DBMS > Datomic vs. KeyDB vs. RethinkDB vs. SQL.JS

System Properties Comparison Datomic vs. KeyDB vs. RethinkDB vs. SQL.JS

Please select another system to include it in the comparison.

Editorial information provided by DB-Engines
NameDatomic  Xexclude from comparisonKeyDB  Xexclude from comparisonRethinkDB  Xexclude from comparisonSQL.JS  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 protocolsDBMS for the Web with a mechanism to push updated query results to applications in realtime.Port of SQLite to JavaScript
Primary database modelRelational DBMSKey-value storeDocument storeRelational DBMS
Secondary database modelsSpatial DBMS
DB-Engines Ranking infomeasures the popularity of database management systemsranking trend
Trend Chart
Score1.66
Rank#144  Overall
#66  Relational DBMS
Score0.70
Rank#229  Overall
#32  Key-value stores
Score2.66
Rank#107  Overall
#20  Document stores
Score0.63
Rank#241  Overall
#112  Relational DBMS
Websitewww.datomic.comgithub.com/­Snapchat/­KeyDB
keydb.dev
rethinkdb.comsql.js.org
Technical documentationdocs.datomic.comdocs.keydb.devrethinkdb.com/­docssql.js.org/­documentation/­index.html
DeveloperCognitectEQ Alpha Technology Ltd.The Linux Foundation infosince July 2017Alon Zakai infoenhancements implemented by others
Initial release2012201920092012
Current release1.0.7075, December 20232.4.1, August 2020
License infoCommercial or Open Sourcecommercial infolimited edition freeOpen Source infoBSD-3Open Source infoApache Version 2Open Source
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++C++JavaScript
Server operating systemsAll OS with a Java VMLinuxLinux
OS X
Windows
server-less, requires a JavaScript environment (browser, Node.js)
Data schemeyesschema-freeschema-freeyes
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 indexesyes infostring, binary, float, bool, date, geometryyes
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
SQL infoSupport of SQLnononoyes infoSQL-92 is not fully supported
APIs and other access methodsRESTful HTTP APIProprietary protocol infoRESP - REdis Serialization ProtocoJavaScript 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
C 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
JavaScript
Server-side scripts infoStored proceduresyes infoTransaction FunctionsLuano
TriggersBy using transaction functionsnoClient-side triggers through changefeedsno
Partitioning methods infoMethods for storing different data on different nodesnone infoBut extensive use of caching in the application peersShardingSharding inforange basednone
Replication methods infoMethods for redundantly storing data on multiple nodesnone infoBut extensive use of caching in the application peersMulti-source replication
Source-replica replication
Source-replica replicationnone
MapReduce infoOffers an API for user-defined Map/Reduce methodsnonoyesno
Consistency concepts infoMethods to ensure consistency in a distributed systemImmediate ConsistencyEventual Consistency
Strong eventual consistency with CRDTs
Immediate Consistencynone
Foreign keys infoReferential integritynononoyes
Transaction concepts infoSupport to ensure data integrity after non-atomic manipulations of dataACIDOptimistic locking, atomic execution of commands blocks and scriptsAtomic single-document operationsACID
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 logsyesno infoexcept by serializing a db to a file
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 developmentyesnoyes
User concepts infoAccess controlnosimple password-based access control and ACLyes infousers and table-level permissionsno

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
DatomicKeyDBRethinkDBSQL.JS
DB-Engines blog posts

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

show all

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

show all

Recent citations in the news

Stanchion Turns SQLite Into A Column Store
15 February 2024, iProgrammer

Nubank buys firm behind Clojure programming language
28 July 2020, Finextra

Architecting Software for Leverage
13 November 2021, InfoQ.com

TerminusDB Takes on Data Collaboration with a git-Like Approach
1 December 2020, The New Stack

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

provided by Google News

Oh, snap! Snap snaps up database developer KeyDB
12 May 2022, TechCrunch

Garnet–open-source faster cache-store speeds up applications, services
18 March 2024, Microsoft

Snap Acquires KeyDB for Open-Source Services
17 May 2022, XR Today

Dragonfly 1.0 Released For What Claims To Be The World's Fastest In-Memory Data Store
20 March 2023, Phoronix

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

provided by Google News

An introduction to building realtime apps with RethinkDB
9 July 2022, devmio

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

Open Source Horizon Claims Edge over Google's Firebase Mobile Back-End -- ADTmag
23 May 2016, ADT Magazine

provided by Google News

9 Best JavaScript and TypeScript ORMs for 2024 — SitePoint
22 March 2023, SitePoint

Execute millions of SQL statements in milliseconds in the browser with WebAssembly and Web Workers.
14 January 2017, hackernoon.com

SQLite On The Web: Absurd-sql
24 August 2021, Hackaday

In Praise Of SQLite
28 July 2022, iProgrammer

10 Low-Code Rules for Serious Coders
21 November 2022, Embedded Computing Design

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.

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

Present your product here