DBMS > LokiJS vs. Percona Server for MongoDB vs. SingleStore vs. TDengine vs. YugabyteDB
System Properties Comparison LokiJS vs. Percona Server for MongoDB vs. SingleStore vs. TDengine vs. YugabyteDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | LokiJS Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | SingleStore former name was MemSQL Xexclude from comparison | TDengine Xexclude from comparison | YugabyteDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | In-memory JavaScript DBMS | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | MySQL wire-compliant distributed RDBMS that combines an in-memory row-oriented and a disc-based column-oriented storage with patented universal storage to handle transactional and analytical workloads in one single table type | Time Series DBMS and big data platform | High-performance distributed SQL database for global, internet-scale applications. Wire and feature compatible with PostgreSQL. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Document store | Relational DBMS | Time Series DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS Time Series DBMS Vector DBMS | Relational DBMS | Document store Wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | github.com/techfort/LokiJS | www.percona.com/mongodb/software/percona-server-for-mongodb | www.singlestore.com | github.com/taosdata/TDengine tdengine.com | www.yugabyte.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | techfort.github.io/LokiJS | docs.percona.com/percona-distribution-for-mongodb | docs.singlestore.com | docs.tdengine.com | docs.yugabyte.com github.com/yugabyte/yugabyte-db | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Percona | SingleStore Inc. | TDEngine, previously Taos Data | Yugabyte Inc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2014 | 2015 | 2013 | 2019 | 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.4.10-2.10, November 2017 | 8.5, January 2024 | 3.0, August 2022 | 2.19, September 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source | Open Source GPL Version 2 | commercial free developer edition available | Open Source AGPL V3, also commercial editions available | Open Source Apache 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 | C++ | C++, Go | C | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | server-less, requires a JavaScript environment (browser, Node.js) | Linux | Linux 64 bit version required | Linux Windows | Linux OS X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | yes | yes | depending on used data model | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | yes | yes | 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 | yes via views | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | yes but no triggers and foreign keys | Standard SQL with extensions for time-series applications | yes, PostgreSQL compatible | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JavaScript API | proprietary protocol using JSON | Cluster Management API as HTTP Rest and CLI HTTP API JDBC MongoDB API ODBC | JDBC RESTful HTTP API | JDBC YCQL, an SQL-based flexible-schema API with its roots in Cassandra Query Language YSQL - a fully relational SQL API that is wire compatible with the SQL language in PostgreSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | JavaScript | Actionscript C C# C++ Clojure ColdFusion D Dart Delphi Erlang Go Groovy Haskell Java JavaScript Lisp Lua MatLab Perl PHP PowerShell Prolog Python R Ruby Scala Smalltalk | Bash C C# Java JavaScript (Node.js) Python | C C# C++ Go Java JavaScript (Node.js) PHP Python Rust | C C# C++ Go Java JavaScript (Node.js) PHP Python Ruby Rust Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | View functions in JavaScript | JavaScript | yes | no | yes sql, plpgsql, C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | no | yes, via alarm monitoring | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | Sharding hash partitioning | Sharding | Hash and Range Sharding, row-level geo-partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | Source-replica replication | Source-replica replication stores two copies of each physical data partition on two separate nodes | yes | Based on Raft distributed consensus protocol, minimum 3 replicas for continuous availability | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | yes | no can define user-defined aggregate functions for map-reduce-style calculations | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Eventual Consistency Immediate Consistency | Immediate Consistency | Strong consistency on writes and tunable consistency on reads | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no atomic operations within a single collection possible | no | ACID | Distributed ACID with Serializable & Snapshot Isolation. Inspired by Google Spanner architecture. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes, multi-version concurrency control (MVCC) | 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 All updates are persistent, including those to disk-based columnstores and memory-based row stores. Transaction commits are supported via write-ahead log. | yes | yes based on RocksDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes via In-Memory Engine | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights for users and roles | Fine grained access control via users, groups and roles | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LokiJS | Percona Server for MongoDB | SingleStore former name was MemSQL | TDengine | YugabyteDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | TDengine™ is a time-series database designed to help traditional industries overcome... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | High Performance at Any Scale: With its distributed scalable architecture that grows... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | TDengine is purpose-built for Industry 4.0 and the Industrial IoT (IIoT) and particularly... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | TDengine has garnered over 23,000 stars on GitHub and is used in over 50 countries... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | TDengine OSS is free, open-source software released under the AGPLv3. TDengine Enterprise... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | Managing High-Frequency Vibration Data: Why You Need a Time-Series Database TDengine Powers Vibration Data Analysis and Fault Prediction at Hydroelectric Plant Earthshaking Speed: TDengine Ingests 50,000 Seismological Records per Second InfluxDB vs. TDengine: Industrial Data Sources InfluxDB vs. TDengine: Query Language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LokiJS | Percona Server for MongoDB | SingleStore former name was MemSQL | TDengine | YugabyteDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | Turbocharge Your Application Development Using WebAssembly With SingleStoreDB Cloud-Based Analytics With SingleStoreDB SingleStore: The Increasing Momentum of Multi-Model Database Systems | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | MongoDB Performance Tuning FerretDB goes GA: Gives you MongoDB, without the MongoDB... The essential guide to MongoDB security PostgreSQL 17 accelerates open source database with replication and JSON tables There are lots of ways to put a database in the cloud – here's what to consider provided by Google News | Third time was the charm for SingleStore in the cloud, CEO says SingleStore acquires BryteFlow to boost data ingestion capabilities SingleStore's BryteFlow acquisition targets data integration Achieve near real-time analytics on Amazon DynamoDB with SingleStore SingleStore acquires BryteFlow to better digest ERP and CRM data provided by Google News | Jeff Tao, TDengine: Becoming the de-facto standard IoT big data platform TDengine Brings Open Source Time-Series Database to Kubernetes provided by Google News | YugabyteDB evolves into a distributed PostgreSQL database for apps that need resilience and scale Yugabyte Announces Sixth Annual Distributed SQL Summit, Unveils Keynote and Lineup of Speakers for November Hybrid Event YugabyteDB Evolves PostgreSQL to a Distributed Architecture for Modern, Cloud-Native Applications Yugabyte Improves Postgres Compatibility Yugabyte Achieves PCI DSS Level 1 Compliance, Validating Secure and Scalable Distributed PostgreSQL for Financial Institutes provided by Google News |
Share this page