DBMS > LokiJS vs. mSQL vs. Postgres-XL vs. Solr vs. SwayDB
System Properties Comparison LokiJS vs. mSQL vs. Postgres-XL vs. Solr vs. SwayDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | LokiJS Xexclude from comparison | mSQL Mini SQL Xexclude from comparison | Postgres-XL Xexclude from comparison | Solr Xexclude from comparison | SwayDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | In-memory JavaScript DBMS | mSQL (Mini SQL) is a simple and lightweight RDBMS | Based on PostgreSQL enhanced with MPP and write-scale-out cluster features | A widely used distributed, scalable search engine based on Apache Lucene | An embeddable, non-blocking, type-safe key-value store for single or multiple disks and in-memory storage | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Relational DBMS | Relational DBMS | Search engine | Key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS | Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/techfort/LokiJS | hughestech.com.au/products/msql | www.postgres-xl.org | solr.apache.org | swaydb.simer.au | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | techfort.github.io/LokiJS | www.postgres-xl.org/documentation | solr.apache.org/resources.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Hughes Technologies | Apache Software Foundation | Simer Plaha | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2014 | 1994 | 2014 since 2012, originally named StormDB | 2006 | 2018 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 4.4, October 2021 | 10 R1, October 2018 | 9.6.0, April 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source | commercial free licenses can be provided | Open Source Mozilla public license | Open Source Apache Version 2 | Open Source GNU Affero GPL V3.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | 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 | C | C | Java | Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | server-less, requires a JavaScript environment (browser, Node.js) | AIX HP-UX Linux OS X Solaris SPARC/x86 Windows | Linux macOS | All OS with a Java VM runs as a servlet in servlet container (e.g. Tomcat, Jetty is included) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | yes | yes Dynamic Fields enables on-the-fly addition of new fields | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | yes | yes supports customizable data types and automatic typing | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes XML type, but no XML query functionality | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes via views | yes | yes | yes All search fields are automatically indexed | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | A subset of ANSI SQL is implemented no subqueries, aggregate functions, views, foreign keys, triggers | yes distributed, parallel query execution | Solr Parallel SQL Interface | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JavaScript API | JDBC ODBC | ADO.NET JDBC native C library ODBC streaming API for large objects | Java API RESTful HTTP/JSON API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | JavaScript | C C++ Delphi Java Perl PHP Tcl | .Net C C++ Delphi Erlang Java JavaScript (Node.js) Perl PHP Python Tcl | .Net Erlang Java JavaScript any language that supports sockets and either XML or JSON Perl PHP Python Ruby Scala | Java Kotlin Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | View functions in JavaScript | no | user defined functions | Java plugins | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | yes | yes User configurable commands triggered on index changes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | none | horizontal partitioning | Sharding | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | none | yes | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | no | spark-solr: github.com/lucidworks/spark-solr and streaming expressions to reduce | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | none | Immediate Consistency | Eventual Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no atomic operations within a single collection possible | no | ACID MVCC | optimistic locking | Atomic execution of operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | no | yes | yes | 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 | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | no | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | no | fine grained access rights according to SQL-standard | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 servicesWe invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LokiJS | mSQL Mini SQL | Postgres-XL | Solr | SwayDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | Elasticsearch replaced Solr as the most popular search engine Enterprise Search Engines almost double their popularity in the last 12 months The DB-Engines ranking includes now search engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | LokiJS - A JavaScript Database provided by Google News | Higher Education PS rules out ghost students before PAC provided by Google News | Solr Network Launches Groundbreaking Solana Token Creator (SOLR) Proactive Strategies SOLR-led walkout demands better conditions for Compass workers Have Insiders Been Buying Solar Alliance Energy Inc. (CVE:SOLR) Shares? Closing Bell: Solar Alliance Energy Inc flat on Tuesday (SOLR) provided by Google News |
Share this page