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 > Datomic vs. LokiJS vs. RethinkDB vs. SurrealDB

System Properties Comparison Datomic vs. LokiJS vs. RethinkDB vs. SurrealDB

Please select another system to include it in the comparison.

Editorial information provided by DB-Engines
NameDatomic  Xexclude from comparisonLokiJS  Xexclude from comparisonRethinkDB  Xexclude from comparisonSurrealDB  Xexclude from comparison
DescriptionDatomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durabilityIn-memory JavaScript DBMSDBMS for the Web with a mechanism to push updated query results to applications in realtime.A fully ACID transactional, developer-friendly, multi-model DBMS
Primary database modelRelational DBMSDocument storeDocument storeDocument store
Graph 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.49
Rank#260  Overall
#42  Document stores
Score2.66
Rank#107  Overall
#20  Document stores
Score1.02
Rank#190  Overall
#33  Document stores
#18  Graph DBMS
Websitewww.datomic.comgithub.com/­techfort/­LokiJSrethinkdb.comsurrealdb.com
Technical documentationdocs.datomic.comtechfort.github.io/­LokiJSrethinkdb.com/­docssurrealdb.com/­docs
DeveloperCognitectThe Linux Foundation infosince July 2017SurrealDB Ltd
Initial release2012201420092022
Current release1.0.7075, December 20232.4.1, August 2020v1.5.0, May 2024
License infoCommercial or Open Sourcecommercial infolimited edition freeOpen SourceOpen 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, ClojureJavaScriptC++Rust
Server operating systemsAll OS with a Java VMserver-less, requires a JavaScript environment (browser, Node.js)Linux
OS X
Windows
Linux
macOS
Windows
Data schemeyesschema-freeschema-freeschema-free
Typing infopredefined data types such as float or dateyesnoyes 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.nonono
Secondary indexesyesyes infovia viewsyes
SQL infoSupport of SQLnononoSQL-like query language
APIs and other access methodsRESTful HTTP APIJavaScript APIGraphQL
RESTful HTTP API
WebSocket
Supported programming languagesClojure
Java
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
Deno
Go
JavaScript (Node.js)
Rust
Server-side scripts infoStored proceduresyes infoTransaction FunctionsView functions in JavaScript
TriggersBy using transaction functionsyesClient-side triggers through changefeeds
Partitioning methods infoMethods for storing different data on different nodesnone infoBut extensive use of caching in the application peersnoneSharding inforange based
Replication methods infoMethods for redundantly storing data on multiple nodesnone infoBut extensive use of caching in the application peersnoneSource-replica replication
MapReduce infoOffers an API for user-defined Map/Reduce methodsnoyesyesno
Consistency concepts infoMethods to ensure consistency in a distributed systemImmediate ConsistencynoneImmediate Consistency
Foreign keys infoReferential integritynonono
Transaction concepts infoSupport to ensure data integrity after non-atomic manipulations of dataACIDno infoatomic operations within a single collection possibleAtomic single-document operationsACID
Concurrency infoSupport for concurrent manipulation of datayesyes infoMVCC basedyes
Durability infoSupport for making data persistentyes infousing external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others)yes infoSerialization of a DB in a Node.JS/Cordova/PhoneGap environment. Usage of the IndexedDB-API in a browser.yesyes
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 developmentyesno
User concepts infoAccess controlnonoyes infousers and table-level permissionsyes, based on authentication and database rules

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

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

LokiJS - A JavaScript Database
18 November 2014, iProgrammer

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

SD Times Open-Source Project of the Week: SurrealDB
10 May 2024, SDTimes.com

Meet Tobie Morgan Hitchcock, CEO & Co-Founder Of SurrealDB
25 April 2024, TechRound

Cloud, privacy and AI: Trends defining the future of data and databases
27 September 2023, Sifted

SurrealDB raises $6M for its database-as-a-service offering
4 January 2023, TechCrunch

Introducing SurrealDB: A Quantum Leap in Database Technology
11 September 2023, TechRound

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