DBMS > Couchbase vs. eXtremeDB vs. NebulaGraph vs. PouchDB vs. VoltDB
System Properties Comparison Couchbase vs. eXtremeDB vs. NebulaGraph vs. PouchDB vs. VoltDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Couchbase Originally called Membase Xexclude from comparison | eXtremeDB Xexclude from comparison | NebulaGraph Xexclude from comparison | PouchDB Xexclude from comparison | VoltDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A distributed document store with integrated cache, a powerful search engine, in-built operational and analytical capabilities, and an embedded mobile database | Natively in-memory DBMS with options for persistency, high-availability and clustering | A distributed, linear scalable, high perfomant Graph DBMS | JavaScript DBMS with an API inspired by CouchDB | Distributed In-Memory NewSQL RDBMS Used for OLTP applications with a high frequency of relatively simple transactions, that can hold all their data in memory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Relational DBMS Time Series DBMS | Graph DBMS | Document store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Key-value store originating from the former Membase product and supporting the Memcached protocol Spatial DBMS using the Geocouch extension Search engine Time Series DBMS Vector DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.couchbase.com | www.mcobject.com | github.com/vesoft-inc/nebula www.nebula-graph.io | pouchdb.com | www.voltdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.couchbase.com | www.mcobject.com/docs/extremedb.htm | docs.nebula-graph.io | pouchdb.com/guides | docs.voltdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Couchbase, Inc. | McObject | Vesoft Inc. | Apache Software Foundation | VoltDB Inc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2011 | 2001 | 2019 | 2012 | 2010 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | Server: 7.2, June 2023; Mobile: 3.1, March 2022; Couchbase Capella (DBaaS), June 2023 | 8.2, 2021 | 7.1.1, June 2019 | 11.3, April 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Business Source License (BSL 1.1); Commercial licenses also available | commercial | Open Source Apache Version 2.0 + Common Clause 1.0 | Open Source | Open Source AGPL for Community Edition, commercial license for Enterprise, AWS, and Pro Editions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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++, Go and Erlang | C and C++ | C++ | JavaScript | Java, C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Windows | AIX HP-UX Linux macOS Solaris Windows | Linux | server-less, requires a JavaScript environment (browser, Node.js) | Linux OS X for development | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | Strong typed schema | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | no | 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 support of XML interfaces available | 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 | SQL++, extends ANSI SQL to JSON for operational, transactional, and analytic use cases | yes with the option: eXtremeSQL | SQL-like query language | no | yes only a subset of SQL 99 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | CLI Client HTTP REST Kafka Connector Native language bindings for CRUD, Query, Search and Analytics APIs Spark Connector Spring Data | .NET Client API JDBC JNI ODBC Proprietary protocol RESTful HTTP 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 | HTTP REST only for PouchDB Server JavaScript API | Java API JDBC RESTful HTTP/JSON API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C Go Java JavaScript Node.js Kotlin PHP Python Ruby Scala | .Net C C# C++ Java Lua Python Scala | .Net C++ Go Java PHP Python | JavaScript | C# C++ Erlang not officially supported Go Java JavaScript Node.js PHP Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Functions and timers in JavaScript and UDFs in Java, Python, SQL++ | yes | user defined functions | View functions in JavaScript | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes via the TAP protocol | yes by defining events | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Automatic Sharding | horizontal partitioning / sharding | Sharding | Sharding with a proxy-based framework, named couchdb-lounge | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication including cross data center replication Source-replica replication | Active Replication Fabric™ for IoT Multi-source replication by means of eXtremeDB Cluster option Source-replica replication by means of eXtremeDB High Availability option | Causal Clustering using Raft protocol | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency selectable on a per-operation basis | Immediate Consistency | Immediate Consistency | Eventual Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | yes Relationships in graphs | no | no FOREIGN KEY constraints are not supported | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | ACID | no | ACID Transactions are executed single-threaded within stored procedures | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes Optimistic (MVCC) and pessimistic (locking) strategies available | yes | yes Data access is serialized by the server | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes using RocksDB | yes by using IndexedDB, WebSQL or LevelDB as backend | yes Snapshots and command logging | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes Ephemeral buckets | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | User and Administrator separation with password-based and LDAP integrated Authentication. Role-base access control. | Role-based access control | no | Users and roles with access to stored procedures | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Couchbase Originally called Membase | eXtremeDB | NebulaGraph | PouchDB | VoltDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | eXtremeDB is an in-memory and/or persistent database system that offers an ultra-small... » more | NebulaGraph is a truly distributed, linearly scalable, lightning-fast graph database,... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | eXtremeDB databases can be modeled relationally or as objects and can utilize SQL... » more | NebulaGraph boasts the world's only graph database solution that is able to host... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | IoT application across all markets: Industrial Control, Netcom, Telecom, Defense,... » more | Social networking Fraud detection Knowledge graph Data warehouse management Anti... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Schneider Electronics, F5 Networks, TNS, Boeing, Northrop Grumman, GoPro, ViaSat,... » more | Companies from a variety of industries have implemented NebulaGraph Database in production,... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | With hundreds of customers and over 30 million devices/applications using the product... » more | At our very early stage, NebulaGraph has already received over 10,000 stars on GitHub... » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | For server use cases, there is a simple per-server license irrespective of the number... » more | 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 | CData: Connect to Big Data & NoSQL through standard Drivers. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Couchbase Originally called Membase | eXtremeDB | NebulaGraph | PouchDB | VoltDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | New kids on the block: database management systems implemented in JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Here's Why We're Not At All Concerned With Couchbase's (NASDAQ:BASE) Cash Burn Situation Couchbase Announces New Features to Accelerate AI-Powered Adaptive Applications for Customers Couchbase's revenue grows 20% and its stock rises in extended trading Couchbase (BASE) Set to Announce Earnings on Wednesday Couchbase Server and Capella to gain vector support provided by Google News | McObject Delivers eXtremeDB 8.4 Improving Performance, Security, and Developer Productivity Latest embedded DBMS supports asymmetric multiprocessing systems McObject & IBM Set New Records for Speed & Stability in STAC-M3 Benchmark for Capital Markets The Data in Hard Real-time SCADA Systems Lets Companies Do More with Less McObject’s new eXtremeDB Cluster provides distributed database solution for real-time apps 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 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 | Unveiling Volt Active Data's game-changing approach to limitless app performance VoltDB Launches Active(N) Lossless Cross Data Center Replication VoltDB Turns to Real-Time Analytics with NewSQL Database VoltDB Upgrades Power, Security of Its In-Memory Database VoltDB Adds Geospatial Support, Cross-Site Replication provided by Google News |
Share this page