DBMS > AlaSQL vs. Elasticsearch vs. Geode vs. LokiJS vs. Trino
System Properties Comparison AlaSQL vs. Elasticsearch vs. Geode vs. LokiJS vs. Trino
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | AlaSQL Xexclude from comparison | Elasticsearch Xexclude from comparison | Geode Xexclude from comparison | LokiJS Xexclude from comparison | Trino Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | JavaScript DBMS library | A distributed, RESTful modern search and analytics engine based on Apache Lucene Elasticsearch lets you perform and combine many types of searches such as structured, unstructured, geo, and metric | Geode is a distributed data container, pooling memory, CPU, network resources, and optionally local disk across multiple processes | In-memory JavaScript DBMS | Fast distributed SQL query engine for big data analytics. Forked from Presto and originally named PrestoSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Relational DBMS | Search engine | Key-value store | Document store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS Vector DBMS | Document store Key-value store Spatial DBMS Search engine Time Series DBMS Wide column store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | alasql.org | www.elastic.co/elasticsearch | geode.apache.org | github.com/techfort/LokiJS | trino.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | github.com/AlaSQL/alasql | www.elastic.co/guide/en/elasticsearch/reference/current/index.html | geode.apache.org/docs | techfort.github.io/LokiJS | trino.io/broadcast trino.io/docs/current | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Andrey Gershun & Mathias R. Wulff | Elastic | Originally developed by Gemstone. They outsourced the project to Apache in 2015 but still deliver a commercial version as Gemfire. | Trino Software Foundation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2014 | 2010 | 2002 | 2014 | 2012 2020 rebranded from PrestoSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 8.6, January 2023 | 1.1, February 2017 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source MIT-License | Open Source Elastic License | Open Source Apache Version 2; commercial licenses available as Gemfire | Open Source | Open Source Apache Version 2.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 | Java | Java | JavaScript | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | server-less, requires a JavaScript environment (browser, Node.js) | All OS with a Java VM | All OS with a Java VM the JDK (8 or later) is also required | server-less, requires a JavaScript environment (browser, Node.js) | Linux macOS for devlopment | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free Flexible type definitions. Once a type is defined, it is persistent | schema-free | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | yes | no | 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 | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes All search fields are automatically indexed | no | yes via views | depending on connected data-source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | Close to SQL99, but no user access control, stored procedures and host language bindings. | SQL-like query language | SQL-like query language (OQL) | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JavaScript API | Java API RESTful HTTP/JSON API | Java Client API Memcached protocol RESTful HTTP API | JavaScript API | JDBC RESTful HTTP API Trino CLI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | JavaScript | .Net Groovy Community Contributed Clients Java JavaScript Perl PHP Python Ruby | .Net All JVM based languages C++ Groovy Java Scala | JavaScript | Go Java JavaScript (Node.js) Python R Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | yes | user defined functions | View functions in JavaScript | yes, depending on connected data-source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes by using the 'percolation' feature | yes Cache Event Listeners | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | Sharding | none | depending on connected data-source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | yes | Multi-source replication | none | depending on connected data-source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | ES-Hadoop Connector | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Eventual Consistency Synchronous doc based replication. Get by ID may show delays up to 1 sec. Configurable write consistency: one, quorum, all | Eventual Consistency | none | depending on connected data-source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes only for local storage and DOM-storage | no | yes, on a single node | no atomic operations within a single collection possible | depending on connected data-source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes by using IndexedDB, SQL.JS or proprietary FileStorage | yes | yes | yes Serialization of a DB in a Node.JS/Cordova/PhoneGap environment. Usage of the IndexedDB-API in a browser. | depending on connected data-source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | Memcached and Redis integration | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights per client and object definable | no | SQL standard access control | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AlaSQL | Elasticsearch | Geode | LokiJS | Trino | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | 23 is a go, keeping pace with Java 65: Performance boosts 64: Control with Open Policy Agent OPA 63: Querying with JS 62: A lakehouse that simply works at Prezi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AlaSQL | Elasticsearch | Geode | LokiJS | Trino | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | PostgreSQL is the DBMS of the Year 2017 Elasticsearch moved into the top 10 most popular database management systems MySQL, PostgreSQL and Redis are the winners of the March ranking | New kids on the block: database management systems implemented in JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | HarperDB - How and Why We Built It From The Ground Up on NodeJS Multi faceted data exploration in the browser using Leaflet and amCharts provided by Google News | Unsecured Elasticsearch cluster exposes over 3M vehicle records AWS hands OpenSearch to Linux Foundation – is this why Elasticsearch was made open source again? Elastic Announces Open Source License for Elasticsearch and Kibana Source Code The Elasticsearch cloud now subject to open-source licence Netflix Uses Elasticsearch Percolate Queries to Implement Reverse Searches Efficiently provided by Google News | This is how much one of the most expensive gems costs at the Tucson gem show Apache Geode Spawns ‘All Sorts of In-Memory Things’ Chapter 1. Introduction to Pivotal GemFire In-Memory Data Grid and Apache Geode RDBMS and Apache Geode Data Movement: Low Latency ETL Pipeline by Using Cloud-Native Event Driven Microservices HPE buys query acceleration platform Ampool to boost Ezmeral hybrid cloud analytics provided by Google News | LokiJS - A JavaScript Database provided by Google News | The Perfect AI Storage: Trino From Facebook And Iceberg From Netflix? A look at Presto, Trino SQL query engines Trino: The Open-source Data Query Engine That Split from Facebook Query big data with resilience using Trino in Amazon EMR with Amazon EC2 Spot Instances for less cost Starburst accelerates Trino to ‘Warp Speed’ to accelerate data querying provided by Google News |
Share this page