DBMS > CouchDB vs. NebulaGraph vs. OrigoDB vs. QuestDB vs. Weaviate
System Properties Comparison CouchDB vs. NebulaGraph vs. OrigoDB vs. QuestDB vs. Weaviate
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | NebulaGraph Xexclude from comparison | OrigoDB Xexclude from comparison | QuestDB Xexclude from comparison | Weaviate Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | A distributed, linear scalable, high perfomant Graph DBMS | A fully ACID in-memory object graph database | A high performance open source SQL database for time series data | An AI-native realtime vector database engine that integrates scalable machine learning models. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Graph DBMS | Document store Object oriented DBMS | Time Series DBMS | Vector DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS using the Geocouch extension | Relational DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | couchdb.apache.org | github.com/vesoft-inc/nebula www.nebula-graph.io | origodb.com | questdb.io | github.com/weaviate/weaviate weaviate.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.couchdb.org/en/stable | docs.nebula-graph.io | origodb.com/docs | questdb.io/docs | weaviate.io/developers/weaviate | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | Vesoft Inc. | Robert Friberg et al | QuestDB Technology Inc | Weaviate B.V. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2005 | 2019 | 2009 under the name LiveDB | 2014 | 2019 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.3.3, December 2023 | 1.19, May 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | Open Source Apache Version 2.0 + Common Clause 1.0 | Open Source | Open Source Apache 2.0 | Open Source commercial license available with Weaviate Enterprise | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | C++ | C# | Java (Zero-GC), C++, Rust | Go | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Android BSD Linux OS X Solaris Windows | Linux | Linux Windows | Linux macOS Windows | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | Strong typed schema | yes | yes schema-free via InfluxDB Line Protocol | yes, maps to GraphQL interface | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | User defined using .NET types and collections | yes | yes string, int, float, geo point, date, cross reference, fuzzy references | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes via views | 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 | no | yes all data objects are indexed in a semantic vector space (the Contextionary), all primitive fields are indexed | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language | no | SQL with time-series extensions | GraphQL is used as query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP/JSON API | 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 | .NET Client API HTTP API LINQ | HTTP REST InfluxDB Line Protocol (TCP/UDP) JDBC PostgreSQL wire protocol | GraphQL query language RESTful HTTP/JSON API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | .Net C++ Go Java PHP Python | .Net | C PostgreSQL driver C++ Go Java JavaScript (Node.js) Python Rust over HTTP | JavaScript / TypeScript Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | View functions in JavaScript | user defined functions | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes Domain Events | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding improved architecture with release 2.0 | Sharding | horizontal partitioning client side managed; servers are not synchronized | horizontal partitioning (by timestamps) | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication Source-replica replication | Causal Clustering using Raft protocol | Source-replica replication | Source-replica replication with eventual consistency | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Immediate Consistency | Immediate Consistency | Eventual Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes Relationships in graphs | depending on model | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no atomic operations within a single document possible | ACID | ACID | ACID for single-table writes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes strategy: optimistic locking | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes using RocksDB | yes Write ahead log | yes | 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 | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users can be defined per database | Role-based access control | Role based authorization | API Keys OpenID Connect Discovery | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | NebulaGraph | OrigoDB | QuestDB | Weaviate | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | NebulaGraph is a truly distributed, linearly scalable, lightning-fast graph database,... » more | Weaviate is an open source vector database that is robust, scalable, cloud-native,... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | NebulaGraph boasts the world's only graph database solution that is able to host... » more | Flexible deployment - Free, open source or fully-managed cloud vector database service... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Social networking Fraud detection Knowledge graph Data warehouse management Anti... » more | As a database supporting the development of generative AI and semantic search applications... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Companies from a variety of industries have implemented NebulaGraph Database in production,... » more | All companies that have data. » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | At our very early stage, NebulaGraph has already received over 10,000 stars on GitHub... » more | As of mid 2023: Over 2 million open source downloads 3500+ Weaviate Slack community... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | NebulaGraph is open source and free to use under Apache 2.0 license. » more | Weaviate is open-source, and free to use. Weaviate is also available as a fully managed... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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" | NebulaGraph | OrigoDB | QuestDB | Weaviate | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | Weaviate, an ANN Database with CRUD support 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 Hadoop, CouchDB Next Targets in Wave of Database Attacks How to Connect Your Flask App With CouchDB: A NoSQL Database - MUO provided by Google News NebulaGraph Cloud Launches Beta Preview: Experience Graph Database as a Service for Up to $1 for a Month Announcing NebulaGraph RAG: From Knowledge to Apps in Minutes LlamaIndex Unveils Notebook Implementation of GraphRAG NebulaGraph reaps from China’s growing appetite for graph databases 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 Vector database startup Weaviate debuts ‘AI workbench’ and flexible storage tiers Weaviate Achieves Amazon Web Services GenAI Competency Status Weaviate Enhances Cloud Console with New Collections and Explorer Tools for AI Developers StructuredRAG Released by Weaviate: A Comprehensive Benchmark to Evaluate Large Language Models’ Ability to Generate Reliable JSON Outputs for Complex AI Systems Build enterprise-ready generative AI solutions with Cohere foundation models in Amazon Bedrock and Weaviate vector database on AWS Marketplace provided by Google News |
Share this page