DBMS > CouchDB vs. KeyDB vs. Neo4j vs. OrigoDB vs. QuestDB
System Properties Comparison CouchDB vs. KeyDB vs. Neo4j vs. OrigoDB vs. QuestDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | KeyDB Xexclude from comparison | Neo4j 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. | An ultra-fast, open source Key-value store fully compatible with Redis API, modules, and protocols | Scalable, ACID-compliant graph database designed with a high-performance distributed cluster architecture, available in self-hosted and cloud offerings | A fully ACID in-memory object graph database | A high performance open source SQL database for time series data | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Key-value store | Graph DBMS | Document store Object oriented DBMS | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS using the Geocouch extension | Relational DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | couchdb.apache.org | github.com/Snapchat/KeyDB keydb.dev | neo4j.com | origodb.com | questdb.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.couchdb.org/en/stable | docs.keydb.dev | neo4j.com/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 | EQ Alpha Technology Ltd. | Neo4j, Inc. | Robert Friberg et al | QuestDB Technology Inc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2005 | 2019 | 2007 | 2009 under the name LiveDB | 2014 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.3.3, December 2023 | 5.20, May 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | Open Source BSD-3 | Open Source GPL version3, 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. | Neo4j Aura: Neo4j’s fully managed cloud service: The zero-admin, always-on graph database for cloud developers. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Erlang | C++ | Java, Scala | C# | Java (Zero-GC), C++, Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Android BSD Linux OS X Solaris Windows | Linux | Linux Can also be used server-less as embedded Java database. OS X Solaris Windows | Linux Windows | Linux macOS Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | schema-free and schema-optional | yes | yes schema-free via InfluxDB Line Protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | partial Supported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexes | 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 | no can be achieved using .NET | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes via views | yes by using the Redis Search module | yes pluggable indexing subsystem, by default Apache Lucene | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | no | no | SQL with time-series extensions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP/JSON API | Proprietary protocol RESP - REdis Serialization Protoco | Bolt protocol Cypher query language Java API Neo4j-OGM Object Graph Mapper RESTful HTTP API Spring Data Neo4j TinkerPop 3 | .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# C++ Clojure Crystal D Dart Elixir Erlang Fancy Go Haskell Haxe Java JavaScript (Node.js) Lisp Lua MatLab Objective-C OCaml Pascal Perl PHP Prolog Pure Data Python R Rebol Ruby Rust Scala Scheme Smalltalk Swift Tcl Visual Basic | .Net Clojure Elixir Go Groovy Haskell Java JavaScript Perl PHP Python Ruby Scala | .Net | C PostgreSQL driver C++ Go Java JavaScript (Node.js) Python Rust over HTTP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | View functions in JavaScript | Lua | yes User defined Procedures and Functions | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | yes via event handler | yes Domain Events | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding improved architecture with release 2.0 | Sharding | yes using Neo4j Fabric | 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 | Multi-source replication Source-replica replication | Causal Clustering using Raft protocol available in in Enterprise Version only | Source-replica replication | Source-replica replication with eventual consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency | Eventual Consistency Strong eventual consistency with CRDTs | Causal and Eventual Consistency configurable in Causal Cluster setup Immediate Consistency in stand-alone mode | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes Relationships in graphs | 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 | Optimistic locking, atomic execution of commands blocks and scripts | ACID | 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 Configurable mechanisms for persistency via snapshots and/or operations logs | 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 | simple password-based access control and ACL | Users, roles and permissions. Pluggable authentication with supported standards (LDAP, Active Directory, Kerberos) | Role based authorization | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | KeyDB | Neo4j | OrigoDB | QuestDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Neo4j delivers graph technology that has been battle tested for performance and scale... » more | Relational model with native time series support Column-based storage and time partitioned... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Neo4j is the market leader, graph database category creator, and the most widely... » more | High ingestion throughput: peak of 4M rows/sec (TSBS Benchmark) Code optimizations... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Real-Time Recommendations Master Data Management Identity and Access Management Network... » more | Financial tick data Industrial IoT Application Metrics Monitoring » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Over 800 commercial customers and over 4300 startups use Neo4j. Flagship customers... » more | Banks & Hedge funds, Yahoo, OKX, Airbus, Aquis Exchange, Net App, Cloudera, Airtel,... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | Neo4j boasts the world's largest graph database ecosystem with more than 140 million... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | GPL v3 license that can be used all the places where you might use MySQL. Neo4j Commercial... » more | Open source Apache 2.0 QuestDB Enterprise QuestDB Cloud » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | This Week in Neo4j: Llamaindex, Semantic Search, Graph Database, Entity Resolution and more Neo4j-Databricks Connector Delivers Deeper Insights, Faster GenAI Development This Week in Neo4j: Podcast, Testing, Knowledge Graph, GenAI and more Neo4j and Snowflake Bring Graph Data Science Into the AI Data Cloud RDF vs. Property Graphs: Choosing the Right Approach for Implementing a Knowledge Graph | Fluid real-time dashboards with Grafana and QuestDB QuestDB 8.0: Major Release 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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" | KeyDB | Neo4j | OrigoDB | QuestDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | Applying Graph Analytics to Game of Thrones MySQL, PostgreSQL and Redis are the winners of the March ranking The openCypher Project: Help Shape the SQL for Graphs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 CouchDB 3.0 ends admin party era • DEVCLASS Tracking Expenses with CouchDB and Angular — SitePoint How to Connect Your Flask App With CouchDB: A NoSQL Database - MUO provided by Google News | Oh, snap! Snap snaps up database developer KeyDB Garnet–open-source faster cache-store speeds up applications, services Snap Acquires KeyDB for Open-Source Services Dragonfly 1.0 Released For What Claims To Be The World's Fastest In-Memory Data Store Microsoft open-sources Garnet cache-store -- a Redis rival? provided by Google News | Neo4j employs knowledge graphs as part of the AI stack Neo4j Announces Collaboration with Microsoft to Advance GenAI and Data Solutions USA - English - India - English Neo4j graph analytics integrated with Snowflake’s AI cloud Using Neo4j’s graph database for AI in Azure Neo4j Is Planning IPO on Nasdaq, Largest Owner Greenbridge Says provided by Google News | QuestDB snares $12M Series A with hosted version coming soon SQL Extensions for Time-Series Data in QuestDB Comparing Different Time-Series Databases QuestDB Raises $12M in Series A Funding Aquis Exchange goes live with QuestDB for real time monitoring provided by Google News |
Share this page