DBMS > LokiJS vs. Lovefield vs. SQLite vs. SurrealDB
System Properties Comparison LokiJS vs. Lovefield vs. SQLite vs. SurrealDB
Please select another system to include it in the comparison.
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | LokiJS Xexclude from comparison | Lovefield Xexclude from comparison | SQLite Xexclude from comparison | SurrealDB Xexclude from comparison | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | In-memory JavaScript DBMS | Embeddable relational database for web apps written in pure JavaScript | Widely used embeddable, in-process RDBMS | A fully ACID transactional, developer-friendly, multi-model DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Relational DBMS | Relational DBMS | Document store Graph DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/techfort/LokiJS | google.github.io/lovefield | www.sqlite.org | surrealdb.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | techfort.github.io/LokiJS | github.com/google/lovefield/blob/master/docs/spec_index.md | www.sqlite.org/docs.html | surrealdb.com/docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Dwayne Richard Hipp | SurrealDB Ltd | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2014 | 2014 | 2000 | 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 2.1.12, February 2017 | 3.46.1 (13 August 2024), August 2024 | v1.5.0, May 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source | Open Source Apache 2.0 | Open Source Public Domain | Open Source | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | JavaScript | JavaScript | C | Rust | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | server-less, requires a JavaScript environment (browser, Node.js) | server-less, requires a JavaScript environment (browser, Node.js) tested with Chrome, Firefox, IE, Safari | server-less | Linux macOS Windows | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | yes dynamic column types | schema-free | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | yes not rigid because of 'dynamic typing' concept. | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes via views | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language via JavaScript builder pattern | yes SQL-92 is not fully supported | SQL-like query language | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JavaScript API | ADO.NET inofficial driver JDBC inofficial driver ODBC inofficial driver | GraphQL RESTful HTTP API WebSocket | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | JavaScript | JavaScript | Actionscript Ada Basic C C# C++ D Delphi Forth Fortran Haskell Java JavaScript Lisp Lua MatLab Objective-C OCaml Perl PHP PL/SQL Python R Ruby Scala Scheme Smalltalk Tcl | Deno Go JavaScript (Node.js) Rust | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | View functions in JavaScript | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | Using read-only observers | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | none | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | none | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no atomic operations within a single collection possible | ACID | ACID | ACID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes via file-system locks | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes Serialization of a DB in a Node.JS/Cordova/PhoneGap environment. Usage of the IndexedDB-API in a browser. | yes, by using IndexedDB or the cloud service Firebase Realtime Database | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes using MemoryDB | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | no | no | yes, based on authentication and database rules | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Navicat for SQLite is a powerful and comprehensive SQLite GUI that provides a complete set of functions for database management and development. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LokiJS | Lovefield | SQLite | SurrealDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | Big gains for Relational Database Management Systems in DB-Engines Ranking | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | LokiJS - A JavaScript Database provided by Google News | Intro to Node's built-in SQLite module Google researchers suggest "fixing" SQL with pipe syntax, SQLite creator unconvinced SQLite Vulnerability Could Put Thousands of Apps at Risk A Guide to Working with SQLite Databases in Python SQLite Gets Into Vector Search provided by Google News | SurrealDB Delivers Future-Ready Database Technology for Developers and Enterprises with Release of SurrealDB 2.0 SurrealDB is helping developers consolidate their databases Multi-model database startup SurrealDB raises $20M and announces cloud beta access SurrealDB Raises $20M To Disrupt Big Data Industry SurrealDB Raises $20 Million to Disrupt Database Tech; Introduces New Cloud Beta Access provided by Google News |
Share this page