DBMS > ClickHouse vs. Ignite vs. PouchDB vs. QuestDB vs. XTDB
System Properties Comparison ClickHouse vs. Ignite vs. PouchDB vs. QuestDB vs. XTDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | ClickHouse Xexclude from comparison | Ignite Xexclude from comparison | PouchDB Xexclude from comparison | QuestDB Xexclude from comparison | XTDB formerly named Crux 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. | Apache Ignite is a memory-centric distributed database, caching, and processing platform for transactional, analytical, and streaming workloads, delivering in-memory speeds at petabyte scale. | JavaScript DBMS with an API inspired by CouchDB | A high performance open source SQL database for time series data | A general purpose database with bitemporal SQL and Datalog and graph queries | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Key-value store Relational DBMS | Document store | Time Series DBMS | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Time Series DBMS | Relational DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | clickhouse.com | ignite.apache.org | pouchdb.com | questdb.io | github.com/xtdb/xtdb www.xtdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | clickhouse.com/docs | apacheignite.readme.io/docs | pouchdb.com/guides | questdb.io/docs | www.xtdb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Clickhouse Inc. | Apache Software Foundation | Apache Software Foundation | QuestDB Technology Inc | Juxt Ltd. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2016 | 2015 | 2012 | 2014 | 2019 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | v24.4.1.2088-stable, May 2024 | Apache Ignite 2.6 | 7.1.1, June 2019 | 1.19, September 2021 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache 2.0 | Open Source Apache 2.0 | Open Source | Open Source Apache 2.0 | Open Source MIT License | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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++ | C++, Java, .Net | JavaScript | Java (Zero-GC), C++, Rust | Clojure | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | FreeBSD Linux macOS | Linux OS X Solaris Windows | server-less, requires a JavaScript environment (browser, Node.js) | Linux macOS Windows | All OS with a Java 8 (and higher) VM Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | schema-free | yes schema-free via InfluxDB Line Protocol | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | no | yes | yes, extensible-data-notation format | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes via views | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | Close to ANSI SQL (SQL/JSON + extensions) | ANSI-99 for query and DML statements, subset of DDL | no | SQL with time-series extensions | limited SQL, making use of Apache Calcite | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | gRPC HTTP REST JDBC MySQL wire protocol ODBC PostgreSQL wire protocol Proprietary protocol | HDFS API Hibernate JCache JDBC ODBC Proprietary protocol RESTful HTTP API Spring Data | HTTP REST only for PouchDB Server JavaScript API | HTTP REST InfluxDB Line Protocol (TCP/UDP) JDBC PostgreSQL wire protocol | HTTP REST JDBC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | C# C++ Java PHP Python Ruby Scala | JavaScript | C PostgreSQL driver C++ Go Java JavaScript (Node.js) Python Rust over HTTP | Clojure Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | yes (compute grid and cache interceptors can be used instead) | View functions in JavaScript | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes (cache interceptors and events) | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | key based and custom | Sharding | Sharding with a proxy-based framework, named couchdb-lounge | horizontal partitioning (by timestamps) | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Asynchronous and synchronous physical replication; geographically distributed replicas; support for object storages. | yes (replicated cache) | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | Source-replica replication with eventual consistency | yes, each node contains all data | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes (compute grid and hadoop accelerator) | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Eventual Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | no | ACID for single-table writes | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes by using IndexedDB, WebSQL or LevelDB as backend | yes | yes, flexibel persistency by using storage technologies like Apache Kafka, RocksDB or LMDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes | yes through memory mapped files | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | Security Hooks for custom implementations | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClickHouse | Ignite | PouchDB | QuestDB | XTDB formerly named Crux | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Relational model with native time series support Column-based storage and time partitioned... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | High ingestion throughput: peak of 4M rows/sec (TSBS Benchmark) Code optimizations... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Financial tick data Industrial IoT Application Metrics Monitoring » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Banks & Hedge funds, Yahoo, OKX, Airbus, Aquis Exchange, Net App, Cloudera, Airtel,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | Open source Apache 2.0 QuestDB Enterprise QuestDB Cloud » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | QuestDB and Raspberry Pi 5 benchmark, a pocket-sized powerhouse Build your own resource monitor with QuestDB and Grafana Does "vpmovzxbd" Scare You? Here's Why it Doesn't Have To Create an ADS-B flight radar with QuestDB and a Raspberry Pi Build a temperature IoT sensor with Raspberry Pi Pico & QuestDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | DoubleCloud: Fully managed ClickHouse alongside best-in-class managed open-source services to build analytics at scale. » more Aiven for Clickhouse: Managed cloud data warehousing with high-speed analytics. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClickHouse | Ignite | PouchDB | QuestDB | XTDB formerly named Crux | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Why Clickhouse Should Be Your Next Database ClickHouse Announces Launch of ClickPipes From Open Source to SaaS: the Journey of ClickHouse ClickHouse Announces ClickPipes: A Continuous Data Ingestion Service for ClickHouse Cloud SigScalr Emerges From Stealth With Pre-Seed Round; Goes Open Source to Bring The Next-Generation of Application ... provided by Google News | GridGain Announces Call for Speakers for Virtual Apache Ignite Summit 2024 Apache Ignite: An Overview GridGain Releases Conference Schedule for Virtual Apache Ignite Summit 2023 What is Apache Ignite? How is Apache Ignite Used? Real-time in-memory OLTP and Analytics with Apache Ignite on AWS | Amazon Web Services 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 | QuestDB snares $12M Series A with hosted version coming soon SQL Extensions for Time-Series Data in QuestDB Q&A: Nicolas Hourcard, QuestDB: The advantages of a time-series database Comparing Different Time-Series Databases Aquis Exchange goes live with QuestDB for real time monitoring provided by Google News |
Share this page