DBMS > Amazon DocumentDB vs. Cassandra vs. CouchDB vs. Derby vs. Elasticsearch
System Properties Comparison Amazon DocumentDB vs. Cassandra vs. CouchDB vs. Derby vs. Elasticsearch
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DocumentDB Xexclude from comparison | Cassandra Xexclude from comparison | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB Xexclude from comparison | Elasticsearch Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Fast, scalable, highly available, and fully managed MongoDB-compatible database service | Wide-column store based on ideas of BigTable and DynamoDB Optimized for write access | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | A distributed, RESTful modern search and analytics engine based on Apache Lucene Elasticsearch lets you perform and combine many types of searches such as structured, unstructured, geo, and metric | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Wide column store | Document store | Relational DBMS | Search engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Vector DBMS starting with release V5 | Spatial DBMS using the Geocouch extension | Document store Spatial DBMS Vector DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/documentdb | cassandra.apache.org | couchdb.apache.org | db.apache.org/derby | www.elastic.co/elasticsearch | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | aws.amazon.com/documentdb/resources | cassandra.apache.org/doc/latest | docs.couchdb.org/en/stable | db.apache.org/derby/manuals/index.html | www.elastic.co/guide/en/elasticsearch/reference/current/index.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top level project, originally developped by Facebook | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | Apache Software Foundation | Elastic | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2019 | 2008 | 2005 | 1997 | 2010 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 4.1.3, July 2023 | 3.3.3, December 2023 | 10.17.1.0, November 2023 | 8.6, January 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source Apache version 2 | Open Source Apache version 2 | Open Source Apache version 2 | Open Source Elastic License | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | Astra DB: Multi-cloud DBaaS built on Apache Cassandra. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Erlang | Java | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | BSD Linux OS X Windows | Android BSD Linux OS X Solaris Windows | All OS with a Java VM | All OS with a Java VM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | schema-free | yes | schema-free Flexible type definitions. Once a type is defined, it is persistent | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | no | yes | 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 | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | restricted only equality queries, not always the best performing solution | yes via views | yes | yes All search fields are automatically indexed | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like SELECT, DML and DDL statements (CQL) | no | yes | SQL-like query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | proprietary protocol using JSON (MongoDB compatible) | Proprietary protocol CQL (Cassandra Query Language, an SQL-like language) Thrift | RESTful HTTP/JSON API | JDBC | Java API RESTful HTTP/JSON API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go Java JavaScript (Node.js) PHP Python | C# C++ Clojure Erlang Go Haskell Java JavaScript Node.js Perl PHP Python Ruby Scala | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | Java | .Net Groovy Community Contributed Clients Java JavaScript Perl PHP Python Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | View functions in JavaScript | Java Stored Procedures | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | yes | yes | yes by using the 'percolation' feature | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding no "single point of failure" | Sharding improved architecture with release 2.0 | none | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-availability zones for high availability, asynchronous replication for up to 15 read replicas | selectable replication factor Representation of geographical distribution of servers is possible | Multi-source replication Source-replica replication | Source-replica replication | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | yes | yes | no | ES-Hadoop Connector | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency Immediate Consistency can be individually decided for each write operation | Eventual Consistency | Immediate Consistency | Eventual Consistency Synchronous doc based replication. Get by ID may show delays up to 1 sec. Configurable write consistency: one, quorum, all | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no typically not used, however similar functionality with DBRef possible | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | Atomic single-document operations | no Atomicity and isolation are supported for single operations | no atomic operations within a single document possible | ACID | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes strategy: optimistic locking | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | yes | Memcached and Redis integration | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles | Access rights for users can be defined per object | Access rights for users can be defined per database | fine grained access rights according to SQL-standard | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon DocumentDB | Cassandra | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB | Elasticsearch | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Apache Cassandra is the leading NoSQL, distributed database management system, well... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | No single point of failure ensures 100% availability . Operational simplicity for... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Internet of Things (IOT), fraud detection applications, recommendation engines, product... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Apple, Netflix, Uber, ING,, Intuit,Fidelity, NY Times, Outbrain, BazaarVoice, Best... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | Cassandra is used by 40% of the Fortune 100. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | Apache license Pricing for commercial distributions provided by DataStax and available... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | GitHub Copilot + DataStax Astra DB: Build GenAI Apps 100x Faster Tips and Tricks for the DataStax Astra CLI How to Build a Crystal Image Search App with Vector Search Knowledge Graphs for RAG without a GraphDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Cassandra Forward event: Want to level up your Cassandra game? Watch now replays of the March 2023 sessions. » more 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon DocumentDB | Cassandra | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB | Elasticsearch | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cassandra keeps climbing the ranks of the DB-Engines Ranking Oracle is the DBMS of the Year Winners, losers and an attractive newcomer in Novembers DB-Engines ranking | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | PostgreSQL is the DBMS of the Year 2017 Elasticsearch moved into the top 10 most popular database management systems MySQL, PostgreSQL and Redis are the winners of the March ranking Use LangChain and vector search on Amazon DocumentDB to build a generative AI chatbot | Amazon Web Services Vector search for Amazon DocumentDB (with MongoDB compatibility) is now generally available | Amazon Web Services AWS announces Amazon DocumentDB I/O-Optimized Use headless clusters in Amazon DocumentDB for cost-effective multi-Region resiliency | Amazon Web Services Game Developer's Guide to Amazon DocumentDB (with MongoDB compatibility) Part Three: Operation Best Practices ... provided by Google News Why Apache Cassandra 5.0 Is a Game-Changer for Developers Cassandra is the “best f*cking database for gen AI,” says DataStax CEO How Uber Optimized Cassandra Operations At Scale Here's What to Know About Apache Cassandra 5.0 Microsoft extends life support for aging Apache Cassandra 3.11 database provided by Google News How to Automate A Blog Post App Deployment With GitHub Actions, Node.js, CouchDB, and Aptible IBM Cloudant pulls plan to fund new foundational layer for CouchDB How to install the CouchDB NoSQL database on Debian Server 11 CouchDB 3.0 ends admin party era • DEVCLASS CouchDB 3.0 puts safety first provided by Google News JDBC tutorial: Easy installation and setup with Apache Derby Installing Apache Hive 3.1.2 on Windows 10 | by Hadi Fadlallah The Apache® Software Foundation Announces 18 Years of Open Source Leadership Get your feet wet with Sun's tiny Java DB JDBC in Java: 5 facts to know before you begin provided by Google News Elasticsearch Enables 400 Criteo Engineers to Search 4 TB of Log Data per Week Elasticsearch Delivers Performance Increase for Users Running the Elastic Search AI Platform on Arm-based ... Netflix Uses Elasticsearch Percolate Queries to Implement Reverse Searches Efficiently Splunk vs Elasticsearch | A Comparison and How to Choose Introducing Elasticsearch Vector Database to Azure OpenAI Service On Your Data (Preview) provided by Google News |
Share this page