DBMS > Amazon DynamoDB vs. CouchDB vs. Datomic vs. Microsoft Azure Cosmos DB vs. Snowflake
System Properties Comparison Amazon DynamoDB vs. CouchDB vs. Datomic vs. Microsoft Azure Cosmos DB vs. Snowflake
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DynamoDB Xexclude from comparison | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | Datomic Xexclude from comparison | Microsoft Azure Cosmos DB former name was Azure DocumentDB Xexclude from comparison | Snowflake Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Hosted, scalable database service by Amazon with the data stored in Amazons cloud | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | Globally distributed, horizontally scalable, multi-model database service | Cloud-based data warehousing service for structured and semi-structured data | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Key-value store | Document store | Relational DBMS | Document store Graph DBMS Key-value store Wide column store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS using the Geocouch extension | Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/dynamodb | couchdb.apache.org | www.datomic.com | azure.microsoft.com/services/cosmos-db | www.snowflake.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.aws.amazon.com/dynamodb | docs.couchdb.org/en/stable | docs.datomic.com | learn.microsoft.com/azure/cosmos-db | docs.snowflake.net/manuals/index.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Amazon | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | Cognitect | Microsoft | Snowflake Computing Inc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2005 | 2012 | 2014 | 2014 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.3.3, December 2023 | 1.0.6735, June 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial free tier for a limited amount of database operations | Open Source Apache version 2 | commercial limited edition free | commercial | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Erlang | Java, Clojure | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Android BSD Linux OS X Solaris Windows | All OS with a Java VM | hosted | hosted | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | yes | schema-free | yes support of semi-structured data formats (JSON, XML, Avro) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no | yes | yes JSON types | 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 | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes via views | yes | yes All properties auto-indexed by default | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | no | SQL-like query language | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | RESTful HTTP/JSON API | RESTful HTTP API | DocumentDB API Graph API (Gremlin) MongoDB API RESTful HTTP API Table API | CLI Client JDBC ODBC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net ColdFusion Erlang Groovy Java JavaScript Perl PHP Python Ruby | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | Clojure Java | .Net C# Java JavaScript JavaScript (Node.js) MongoDB client drivers written for various programming languages Python | JavaScript (Node.js) Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | View functions in JavaScript | yes Transaction Functions | JavaScript | user defined functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes by integration with AWS Lambda | yes | By using transaction functions | JavaScript | no similar concept for controling cloud resources | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding improved architecture with release 2.0 | none But extensive use of caching in the application peers | Sharding Implicit feature of the cloud service | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes | Multi-source replication Source-replica replication | none But extensive use of caching in the application peers | yes Implicit feature of the cloud service | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | yes | no | with Hadoop integration Integration with Hadoop/HDInsight on Azure* | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency can be specified for read operations | Eventual Consistency | Immediate Consistency | Bounded Staleness Consistent Prefix Eventual Consistency Immediate Consistency Consistency level configurable on request level Session Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID ACID across one or more tables within a single AWS account and region | no atomic operations within a single document possible | ACID | Multi-item ACID transactions with snapshot isolation within a partition | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes strategy: optimistic locking | 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 | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes recommended only for testing and development | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles can be defined via the AWS Identity and Access Management (IAM) | Access rights for users can be defined per database | no | Access rights can be defined down to the item level | Users with fine-grained authorization concept, user roles and pluggable authentication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe 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 | CData: Connect to Big Data & NoSQL through standard Drivers. » 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 DynamoDB | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Datomic | Microsoft Azure Cosmos DB former name was Azure DocumentDB | Snowflake | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloud-based DBMS's popularity grows at high rates The popularity of cloud-based DBMSs has increased tenfold in four years Increased popularity for consuming DBMS services out of the cloud | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | Snowflake is the DBMS of the Year 2022, defending the title from last year Snowflake is the DBMS of the Year 2021 Using the circuit-breaker pattern with AWS Lambda extensions and Amazon DynamoDB | Amazon Web Services DynamoDB’s Superpower: Mastering Single Table Design in DynamoDB Continuously replicate Amazon DynamoDB changes to Amazon Aurora PostgreSQL using AWS Lambda | Amazon ... Using Elasticsearch to Offload Search and Analytics from DynamoDB: Pros and Cons Migrating Uber's Ledger Data from DynamoDB to LedgerStore 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 Stanchion Turns SQLite Into A Column Store Nubank buys firm behind Clojure programming language Zoona Case Study Architecting Software for Leverage TerminusDB Takes on Data Collaboration with a git-Like Approach provided by Google News General Availability: Data API builder | Azure updates Start your AI journey with Microsoft Azure Cosmos DB—compete for $10K Public preview: Change partition key of a container in Azure Cosmos DB (NoSQL API) | Azure updates Microsoft Ships Data API Builder for Azure SQL Databases General availability: Microsoft Entra ID integration with Azure Cosmos DB for PostgreSQL | Azure updates provided by Google News Snowflake Ventures invests in Metaplane to ensure trust in data across the Data Cloud Snowflake invests in Metaplane to solve data quality issues plaguing AI development Brooklyn Data Achieves Elite Partner Status with Snowflake PurpleCube AI partners with Snowflake to Revolutionize Data Engineering with Next-Generation AI and Machine ... Persistent achieves Premier services partner status with Snowflake, boosting data management and analytics capabilities provided by Google News |
Share this page