DBMS > CouchDB vs. Dgraph vs. Hazelcast vs. OrigoDB vs. QuestDB
System Properties Comparison CouchDB vs. Dgraph vs. Hazelcast vs. OrigoDB vs. QuestDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | Dgraph Xexclude from comparison | Hazelcast Xexclude from comparison | OrigoDB Xexclude from comparison | QuestDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | Distributed and scalable native Graph DBMS | A widely adopted in-memory data grid | A fully ACID in-memory object graph database | A high performance open source SQL database for time series data | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Graph DBMS | Key-value store | Document store Object oriented DBMS | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS using the Geocouch extension | Document store JSON support with IMDG 3.12 | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | couchdb.apache.org | dgraph.io | hazelcast.com | origodb.com | questdb.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.couchdb.org/en/stable | dgraph.io/docs | hazelcast.org/imdg/docs | origodb.com/docs | questdb.io/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | Dgraph Labs, Inc. | Hazelcast | Robert Friberg et al | QuestDB Technology Inc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2005 | 2016 | 2008 | 2009 under the name LiveDB | 2014 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.3.3, December 2023 | 5.3.6, November 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | Open Source Apache 2.0 | Open Source Apache Version 2; commercial licenses available | Open Source | 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 | Erlang | Go | Java | C# | Java (Zero-GC), C++, Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Android BSD Linux OS X Solaris Windows | Linux OS X Windows | All OS with a Java VM | Linux Windows | Linux macOS Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | schema-free | yes | yes schema-free via InfluxDB Line Protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | yes | User defined using .NET types and collections | 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 | yes the object must implement a serialization strategy | no can be achieved using .NET | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes via views | yes | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | SQL-like query language | no | SQL with time-series extensions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP/JSON API | GraphQL query language gRPC (using protocol buffers) API HTTP API | JCache JPA Memcached protocol RESTful HTTP API | .NET Client API HTTP API LINQ | HTTP REST InfluxDB Line Protocol (TCP/UDP) JDBC PostgreSQL wire protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | C# C++ Go Java JavaScript (Node.js) PHP Python Ruby | .Net C# C++ Clojure Go Java JavaScript (Node.js) Python Scala | .Net | C PostgreSQL driver C++ Go Java JavaScript (Node.js) Python Rust over HTTP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | View functions in JavaScript | no | yes Event Listeners, Executor Services | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | yes Events | yes Domain Events | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding improved architecture with release 2.0 | yes | Sharding | horizontal partitioning client side managed; servers are not synchronized | horizontal partitioning (by timestamps) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication Source-replica replication | Synchronous replication via Raft | yes Replicated Map | Source-replica replication | Source-replica replication with eventual consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency | Immediate Consistency | Immediate Consistency or Eventual Consistency selectable by user Raft Consensus Algorithm | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | depending on model | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no atomic operations within a single document possible | ACID | one or two-phase-commit; repeatable reads; read commited | ACID | ACID for single-table writes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes strategy: optimistic locking | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes Write ahead log | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes | yes through memory mapped files | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users can be defined per database | no Planned for future releases | Role-based access control | Role based authorization | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Dgraph | Hazelcast | OrigoDB | QuestDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | Combine Java and Rust Code Coverage in a Polyglot Project Weather data visualization and forecasting with QuestDB, Kafka and Grafana Building a new vector based storage model Calibrating VWAP executions with QuestDB and Grafana Write Time: a call for community writers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Dgraph | Hazelcast | OrigoDB | QuestDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | How to install the CouchDB NoSQL database on Debian Server 11 IBM Cloudant pulls plan to fund new foundational layer for CouchDB Database Ransom Attacks Hit CouchDB and Hadoop Servers Hadoop, CouchDB Next Targets in Wave of Database Attacks CouchDB 3.0 ends admin party era provided by Google News | Top Open Source Graph Databases Popular Open Source GraphQL Company Dgraph Secures $6M in Seed Round with New Leadership Dgraph on AWS: Setting up a horizontally scalable graph database Dgraph raises $11.5 million for scalable graph database solutions Graph Database Market size to grow by USD 7.40 billion between 2022 - 2027 | Growth Driven by Lack of standardization and programming flexibility - Technavio provided by Google News | Event Stream Processing Market Exploring Future Growth 2023-2032 and Key Players - Cloudera, Inc., Hazelcast, Hazelcast 5.4 real time data processing platform boosts AI and consistency Hazelcast Expands Global Partner Program to Support Mission-Critical, AI Application Projects Hazelcast Weaves Wider Logic Threads Through The Data Fabric Hazelcast Showcases Real-Time Data Platform at 2024 Gartner Summit provided by Google News | SQL Extensions for Time-Series Data in QuestDB QuestDB snares $12M Series A with hosted version coming soon QuestDB gets $12M Series A funding amid growing interest in time-series databases Read the Pitch Deck Database Startup QuestDB Used to Raise $12 Million Comparing Different Time-Series Databases provided by Google News |
Share this page