DBMS > Amazon DynamoDB vs. CrateDB vs. Microsoft Azure Cosmos DB vs. RavenDB vs. SurrealDB
System Properties Comparison Amazon DynamoDB vs. CrateDB vs. Microsoft Azure Cosmos DB vs. RavenDB vs. SurrealDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DynamoDB Xexclude from comparison | CrateDB Xexclude from comparison | Microsoft Azure Cosmos DB former name was Azure DocumentDB Xexclude from comparison | RavenDB Xexclude from comparison | SurrealDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Hosted, scalable database service by Amazon with the data stored in Amazons cloud | Distributed Database based on Lucene | Globally distributed, horizontally scalable, multi-model database service | Open Source Operational and Transactional Enterprise NoSQL Document Database | A fully ACID transactional, developer-friendly, multi-model DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Key-value store | Document store Spatial DBMS Search engine Time Series DBMS Vector DBMS | Document store Graph DBMS Key-value store Wide column store | Document store | Document store Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | Spatial DBMS | Graph DBMS Spatial DBMS Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/dynamodb | cratedb.com | azure.microsoft.com/services/cosmos-db | ravendb.net | surrealdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.aws.amazon.com/dynamodb | cratedb.com/docs | learn.microsoft.com/azure/cosmos-db | ravendb.net/docs | surrealdb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Amazon | Crate | Microsoft | Hibernating Rhinos | SurrealDB Ltd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2013 | 2014 | 2010 | 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 5.8.1, August 2024 | 5.4, July 2022 | v1.5.0, May 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial free tier for a limited amount of database operations | Open Source | commercial | Open Source AGPL version 3, commercial license available | Open Source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | C# | Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | All Operating Systems, including Kubernetes with CrateDB Kubernetes Operator support | hosted | Linux macOS Raspberry Pi Windows | Linux macOS Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | Flexible Schema (defined schema, partial schema, schema free) | schema-free | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes JSON types | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes All properties auto-indexed by default | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | yes, but no triggers and constraints, and PostgreSQL compatibility | SQL-like query language | SQL-like query language (RQL) | SQL-like query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | ADO.NET JDBC ODBC PostgreSQL wire protocol Prometheus Remote Read/Write RESTful HTTP API | DocumentDB API Graph API (Gremlin) MongoDB API RESTful HTTP API Table API | .NET Client API F# Client API Go Client API Java Client API NodeJS Client API PHP Client API Python Client API RESTful HTTP API | GraphQL RESTful HTTP API WebSocket | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net ColdFusion Erlang Groovy Java JavaScript Perl PHP Python Ruby | .NET Erlang Go community maintained client Java JavaScript (Node.js) community maintained client Perl community maintained client PHP Python R Ruby community maintained client Scala community maintained client | .Net C# Java JavaScript JavaScript (Node.js) MongoDB client drivers written for various programming languages Python | .Net C# F# Go Java JavaScript (Node.js) PHP Python Ruby | Deno Go JavaScript (Node.js) Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | user defined functions (Javascript) | JavaScript | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes by integration with AWS Lambda | no | JavaScript | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | Sharding Implicit feature of the cloud service | Sharding | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes | Configurable replication on table/partition-level | yes Implicit feature of the cloud service | Multi-source replication | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | no | with Hadoop integration Integration with Hadoop/HDInsight on Azure* | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency can be specified for read operations | Eventual Consistency Read-after-write consistency on record level | Bounded Staleness Consistent Prefix Eventual Consistency Immediate Consistency Consistency level configurable on request level Session Consistency | Default ACID transactions on the local node (eventually consistent across the cluster). Atomic operations with cluster-wide ACID transactions. Eventual consistency for indexes and full-text search indexes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 unique row identifiers can be used for implementing an optimistic concurrency control strategy | Multi-item ACID transactions with snapshot isolation within a partition | ACID, Cluster-wide transaction available | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles can be defined via the AWS Identity and Access Management (IAM) | rights management via user accounts | Access rights can be defined down to the item level | Authorization levels configured per client per database | yes, based on authentication and database rules | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon DynamoDB | CrateDB | Microsoft Azure Cosmos DB former name was Azure DocumentDB | RavenDB | SurrealDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | How Samsung Cloud optimized Amazon DynamoDB costs | Amazon Web Services Migrating Uber's Ledger Data from DynamoDB to LedgerStore Join the preview of attribute-based access control for Amazon DynamoDB | Amazon Web Services Achieve near real-time analytics on Amazon DynamoDB with SingleStore Faster development with Amazon DynamoDB and Amazon Q Developer provided by Google News | CrateDB Appoints Jeff Olson as New CRO CrateDB Announces Availability of CrateDB on Google Cloud Marketplace Taleo Consulting and CrateDB Announce Strategic Partnership to Transform Data Management and Analytics in Financial Services markets How We Designed CrateDB as a Realtime SQL DBMS for the Internet of Things CrateDB Appoints Sergey Gerasimenko as New CTO provided by Google News | Start your AI journey with Microsoft Azure Cosmos DB—compete for $10K Public Preview: DiskANN vector indexing and search in Azure Cosmos DB NoSQL Public preview: Filtered vector search in vCore-based Azure Cosmos DB for MongoDB Public Preview: vCore-based Azure Cosmos DB for MongoDB cross-region disaster recovery (DR) Generally Available: Index Advisor in Azure Cosmos DB helps optimize your index policy for NoSQL queries provided by Google News | RavenDB Launches Version 6.0 Lightning Fast Queries, Data Integrations, Corax Indexing Engine, and Sharding Install the NoSQL RavenDB Data System RavenDB Welcomes David Baruc as Chief Revenue Officer: Seasoned Tech Leader to Drive Global Sales and Accelerate Growth Get To Know: Oren Eini, CEO, RavenDB RavenDB Adds Graph Queries provided by Google News | SurrealDB 2.0 Introduces Advanced Security and Data Management Features SurrealDB is helping developers consolidate their databases Multi-model database startup SurrealDB raises $20M and announces cloud beta access SurrealDB Raises $20 Million to Disrupt Database Tech; Introduces New Cloud Beta Access London-based SurrealDB secures over €18.6 million aiming to disrupt database technology provided by Google News |
Share this page