DBMS > ClickHouse vs. H2 vs. LokiJS vs. PouchDB vs. TimesTen
System Properties Comparison ClickHouse vs. H2 vs. LokiJS vs. PouchDB vs. TimesTen
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | ClickHouse Xexclude from comparison | H2 Xexclude from comparison | LokiJS Xexclude from comparison | PouchDB Xexclude from comparison | TimesTen Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A high-performance, column-oriented SQL DBMS for online analytical processing (OLAP) that uses all available system resources to their full potential to process each analytical query as fast as possible. It is available as both an open-source software and a cloud offering. | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | In-memory JavaScript DBMS | JavaScript DBMS with an API inspired by CouchDB | In-Memory RDBMS compatible to Oracle | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Document store | Document store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Time Series DBMS | Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | clickhouse.com | www.h2database.com | github.com/techfort/LokiJS | pouchdb.com | www.oracle.com/database/technologies/related/timesten.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | clickhouse.com/docs | www.h2database.com/html/main.html | techfort.github.io/LokiJS | pouchdb.com/guides | docs.oracle.com/database/timesten-18.1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Clickhouse Inc. | Thomas Mueller | Apache Software Foundation | Oracle, TimesTen Performance Software, HP originally founded in HP Labs it was acquired by Oracle in 2005 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2016 | 2005 | 2014 | 2012 | 1998 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | v24.4.1.2088-stable, May 2024 | 2.2.220, July 2023 | 7.1.1, June 2019 | 11 Release 2 (11.2.2.8.0) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache 2.0 | Open Source dual-licence (Mozilla public license, Eclipse public license) | Open Source | Open Source | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | C++ | Java | JavaScript | JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | FreeBSD Linux macOS | All OS with a Java VM | server-less, requires a JavaScript environment (browser, Node.js) | server-less, requires a JavaScript environment (browser, Node.js) | AIX HP-UX Linux OS X Solaris SPARC/x86 Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | schema-free | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | no | 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 | yes | yes | yes via views | yes via views | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | Close to ANSI SQL (SQL/JSON + extensions) | yes | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | gRPC HTTP REST JDBC MySQL wire protocol ODBC PostgreSQL wire protocol Proprietary protocol | JDBC ODBC | JavaScript API | HTTP REST only for PouchDB Server JavaScript API | JDBC ODBC ODP.NET Oracle Call Interface (OCI) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C# 3rd party library C++ Elixir 3rd party library Go 3rd party library Java 3rd party library JavaScript (Node.js) 3rd party library Kotlin 3rd party library Nim 3rd party library Perl 3rd party library PHP 3rd party library Python 3rd party library R 3rd party library Ruby 3rd party library Rust Scala 3rd party library | Java | JavaScript | JavaScript | C C++ Java PL/SQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | Java Stored Procedures and User-Defined Functions | View functions in JavaScript | View functions in JavaScript | PL/SQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | key based and custom | none | none | Sharding with a proxy-based framework, named couchdb-lounge | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Asynchronous and synchronous physical replication; geographically distributed replicas; support for object storages. | With clustering: 2 database servers on different computers operate on identical copies of a database | none | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | none | Eventual Consistency | Immediate Consistency or Eventual Consistency depending on configuration | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | no atomic operations within a single collection possible | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes, multi-version concurrency control (MVCC) | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes Serialization of a DB in a Node.JS/Cordova/PhoneGap environment. Usage of the IndexedDB-API in a browser. | yes by using IndexedDB, WebSQL or LevelDB as backend | yes by means of logfiles and checkpoints | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles. Column and row based policies. Quotas and resource limits. Pluggable authentication with LDAP and Kerberos. Password based, X.509 certificate, and SSH key authentication. | fine grained access rights according to SQL-standard | no | no | fine grained access rights according to SQL-standard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Aiven for Clickhouse: Managed cloud data warehousing with high-speed analytics. » more DoubleCloud: Fully managed ClickHouse alongside best-in-class managed open-source services to build analytics at scale. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClickHouse | H2 | LokiJS | PouchDB | TimesTen | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | New kids on the block: database management systems implemented in JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Why Clickhouse Should Be Your Next Database ClickHouse Cloud & Amazon S3 Express One Zone: Making a blazing fast analytical database even faster | Amazon ... Intel Xeon 6766E/6780E Sierra Forest vs. Ampere Altra Performance & Power Efficiency Review A 1000x Faster Database Solution: ClickHouse’s Aaron Katz From Open Source to SaaS: the Journey of ClickHouse provided by Google News | LokiJS - A JavaScript Database provided by Google News | Building an Offline First App with PouchDB — SitePoint Getting Started with PouchDB Client-Side JavaScript Database — SitePoint 3 Reasons To Think Offline First Create Offline Web Apps Using Service Workers & PouchDB — SitePoint Offline-first web and mobile apps: Top frameworks and components provided by Google News |
Share this page