DBMS > CockroachDB vs. Couchbase vs. Datomic vs. Faircom DB vs. NebulaGraph
System Properties Comparison CockroachDB vs. Couchbase vs. Datomic vs. Faircom DB vs. NebulaGraph
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CockroachDB Xexclude from comparison | Couchbase Originally called Membase Xexclude from comparison | Datomic Xexclude from comparison | Faircom DB formerly c-treeACE Xexclude from comparison | NebulaGraph Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | CockroachDB is a distributed database architected for modern cloud applications. It is wire compatible with PostgreSQL and backed by a Key-Value Store, which is either RocksDB or a purpose-built derivative, called Pebble. | A distributed document store with integrated cache, a powerful search engine, in-built operational and analytical capabilities, and an embedded mobile database | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | Native high-speed multi-model DBMS for relational and key-value store data simultaneously accessible through SQL and NoSQL APIs. | A distributed, linear scalable, high perfomant Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Document store | Relational DBMS | Key-value store Relational DBMS | Graph 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.cockroachlabs.com | www.couchbase.com | www.datomic.com | www.faircom.com/products/faircom-db | github.com/vesoft-inc/nebula www.nebula-graph.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | www.cockroachlabs.com/docs | docs.couchbase.com | docs.datomic.com | docs.faircom.com/docs/en/UUID-7446ae34-a1a7-c843-c894-d5322e395184.html | docs.nebula-graph.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Cockroach Labs | Couchbase, Inc. | Cognitect | FairCom Corporation | Vesoft Inc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2015 | 2011 | 2012 | 1979 | 2019 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 23.1.1, May 2023 | Server: 7.2, June 2023; Mobile: 3.1, March 2022; Couchbase Capella (DBaaS), June 2023 | 1.0.6735, June 2023 | V12, November 2020 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache 2.0, commercial license available | Open Source Business Source License (BSL 1.1); Commercial licenses also available | commercial limited edition free | commercial Restricted, free version available | Open Source Apache Version 2.0 + Common Clause 1.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 | Go | C, C++, Go and Erlang | Java, Clojure | ANSI C, C++ | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux macOS Windows | Linux OS X Windows | All OS with a Java VM | AIX FreeBSD HP-UX Linux NetBSD OS X QNX SCO Solaris VxWorks Windows easily portable to other OSs | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | dynamic schema | schema-free | yes | schema free, schema optional, schema required, partial schema, | Strong typed schema | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | yes, ANSI SQL Types, JSON, typed binary structures | 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 | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes, wire compatible with PostgreSQL | SQL++, extends ANSI SQL to JSON for operational, transactional, and analytic use cases | no | yes, ANSI SQL with proprietary extensions | SQL-like query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC | CLI Client HTTP REST Kafka Connector Native language bindings for CRUD, Query, Search and Analytics APIs Spark Connector Spring Data | RESTful HTTP API | ADO.NET Direct SQL JDBC JPA ODBC RESTful HTTP/JSON API RESTful MQTT/JSON API RPC | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C# C++ Clojure Go Java JavaScript (Node.js) PHP Python Ruby Rust | .Net C Go Java JavaScript Node.js Kotlin PHP Python Ruby Scala | Clojure Java | .Net C C# C++ Java JavaScript (Node.js and browser) PHP Python Visual Basic | .Net C++ Go Java PHP Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | Functions and timers in JavaScript and UDFs in Java, Python, SQL++ | yes Transaction Functions | yes .Net, JavaScript, C/C++ | user defined functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes via the TAP protocol | By using transaction functions | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning (by key range) all tables are translated to an ordered KV store and then broken down into 64MB ranges, which are then used as replicas in RAFT | Automatic Sharding | none But extensive use of caching in the application peers | File partitioning, horizontal partitioning, sharding Customizable business rules for table partitioning | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication using RAFT | Multi-source replication including cross data center replication Source-replica replication | none But extensive use of caching in the application peers | yes, configurable to be parallel or serial, synchronous or asynchronous, uni-directional or bi-directional, ACID-consistent or eventually consistent (with custom conflict resolution). | Causal Clustering using Raft protocol | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency Immediate Consistency selectable on a per-operation basis | Immediate Consistency | Eventual Consistency Immediate Consistency Tunable consistency per server, database, table, and transaction | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | no | no | yes | yes Relationships in graphs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | ACID | tunable from ACID to Eventually Consistent | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes using external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others) | Yes, tunable from durable to delayed durability to in-memory | yes using RocksDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes Ephemeral buckets | yes recommended only for testing and development | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Role-based access control | User and Administrator separation with password-based and LDAP integrated Authentication. Role-base access control. | no | Fine grained access rights according to SQL-standard with additional protections for files | Role-based access control | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CockroachDB | Couchbase Originally called Membase | Datomic | Faircom DB formerly c-treeACE | NebulaGraph | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CockroachDB | Couchbase Originally called Membase | Datomic | Faircom DB formerly c-treeACE | NebulaGraph | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Netflix, Rightmove, Route, Among Headliners for Next Generation Database User Conference: RoachFest 2024 CockroachDB tempts legacy databases to crawl into the cloud age How DoorDash Migrated from Aurora Postgres to CockroachDB How to Unlock Real-Time Data Streams with CockroachDB and Amazon MSK | Amazon Web Services DoorDash Uses CockroachDB to Create Config Management Platform for Microservices provided by Google News | 11 Analysts Have This To Say About Couchbase Couchbase, Inc. (NASDAQ:BASE) SVP Margaret Chow Sells 3934 Shares UBS Starts Couchbase Inc (BASE) at Neutral Couchbase executive Margaret Chow sells over $137k in stock Russell Investments Group Ltd. Has $489000 Holdings in Couchbase, Inc. (NASDAQ:BASE) provided by Google News | Nubank buys firm behind Clojure programming language Zoona Case Study Architecting Software for Leverage TerminusDB Takes on Data Collaboration with a git-Like Approach Brazil’s Nubank acquires US software firm Cognitect, creator of Clojure and Datomic provided by Google News | FairCom kicks off new era of database technology USA - English 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 NebulaGraph Enterprise v5.0: The First Distributed Graph Database to Offer Native GQL Support provided by Google News |
Share this page