DBMS > ClickHouse vs. Ignite vs. NebulaGraph vs. PouchDB vs. XTDB
System Properties Comparison ClickHouse vs. Ignite vs. NebulaGraph vs. PouchDB vs. XTDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | ClickHouse Xexclude from comparison | Ignite Xexclude from comparison | NebulaGraph Xexclude from comparison | PouchDB 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. | A distributed, linear scalable, high perfomant Graph DBMS | JavaScript DBMS with an API inspired by CouchDB | A general purpose database with bitemporal SQL and Datalog and graph queries | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Key-value store Relational DBMS | Graph DBMS | Document store | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | clickhouse.com | ignite.apache.org | github.com/vesoft-inc/nebula www.nebula-graph.io | pouchdb.com | github.com/xtdb/xtdb www.xtdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | clickhouse.com/docs | apacheignite.readme.io/docs | docs.nebula-graph.io | pouchdb.com/guides | www.xtdb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Clickhouse Inc. | Apache Software Foundation | Vesoft Inc. | Apache Software Foundation | Juxt Ltd. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2016 | 2015 | 2019 | 2012 | 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 Apache Version 2.0 + Common Clause 1.0 | Open Source | 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 | C++ | JavaScript | Clojure | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | FreeBSD Linux macOS | Linux OS X Solaris Windows | Linux | server-less, requires a JavaScript environment (browser, Node.js) | All OS with a Java 8 (and higher) VM Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | Strong typed schema | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | no | 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 Nebula Graph internally uses the Key-Value store RocksDB for persistency. The vertices, edges, and their properties are stored as Key while their values are stored as Value. The primary indexes are per Key and secondary indexes are per Value. | yes via views | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | Close to ANSI SQL (SQL/JSON + extensions) | ANSI-99 for query and DML statements, subset of DDL | SQL-like query language | no | 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 | Browser interface console (shell) Cypher Query Language GO Object Graph Mapper Java Object Graph Mapper NGBatis ORM framework for NebulaGraph and Spring-Boot Proprietary native API Python Object Graph Mapper Query language nGQL | HTTP REST only for PouchDB Server JavaScript API | 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 | .Net C++ Go Java PHP Python | JavaScript | Clojure Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | yes (compute grid and cache interceptors can be used instead) | user defined functions | View functions in JavaScript | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes (cache interceptors and events) | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | key based and custom | Sharding | Sharding | 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. | yes (replicated cache) | Causal Clustering using Raft protocol | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | yes, each node contains all data | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes (compute grid and hadoop accelerator) | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Eventual Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes Relationships in graphs | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | ACID | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes using RocksDB | yes by using IndexedDB, WebSQL or LevelDB as backend | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Role-based access control | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClickHouse | Ignite | NebulaGraph | PouchDB | XTDB formerly named Crux | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | NebulaGraph is a truly distributed, linearly scalable, lightning-fast graph database,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | NebulaGraph boasts the world's only graph database solution that is able to host... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Social networking Fraud detection Knowledge graph Data warehouse management Anti... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Companies from a variety of industries have implemented NebulaGraph Database in production,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | At our very early stage, NebulaGraph has already received over 10,000 stars on GitHub... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | NebulaGraph is open source and free to use under Apache 2.0 license. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | NebulaGraph | PouchDB | 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 Cloud & Amazon S3 Express One Zone: Making a blazing fast analytical database even faster | Amazon ... ClickHouse Announces Launch of ClickPipes From Open Source to SaaS: the Journey of ClickHouse Can LLMs Replace Data Analysts? Getting Answers Using SQL provided by Google News | 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 Fire up big data processing with Apache Ignite provided by Google News | Vesoft (NebulaGraph) Recognized in the Gartner® Market Guide for Graph Database Management Systems NebulaGraph reaps from China's growing appetite for graph databases NebulaGraph Completes Series A to Scale Its Distributed Graph Database Breaking Down Data Silos: How Apache Doris Streamlines Customer Data Integration NebulaGraph Enterprise v5.0: The First Distributed Graph Database to Offer Native GQL Support 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