DBMS > Amazon DynamoDB vs. CockroachDB vs. Percona Server for MongoDB vs. Postgres-XL vs. ScyllaDB
System Properties Comparison Amazon DynamoDB vs. CockroachDB vs. Percona Server for MongoDB vs. Postgres-XL vs. ScyllaDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DynamoDB Xexclude from comparison | CockroachDB Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | Postgres-XL Xexclude from comparison | ScyllaDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Hosted, scalable database service by Amazon with the data stored in Amazons cloud | 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 drop-in replacement for MongoDB Community Edition with enterprise-grade features. | Based on PostgreSQL enhanced with MPP and write-scale-out cluster features | Cassandra and DynamoDB compatible wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Key-value store | Relational DBMS | Document store | Relational DBMS | Wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS | Key-value store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/dynamodb | www.cockroachlabs.com | www.percona.com/mongodb/software/percona-server-for-mongodb | www.postgres-xl.org | www.scylladb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.aws.amazon.com/dynamodb | www.cockroachlabs.com/docs | docs.percona.com/percona-distribution-for-mongodb | www.postgres-xl.org/documentation | docs.scylladb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Amazon | Cockroach Labs | Percona | ScyllaDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2015 | 2015 | 2014 since 2012, originally named StormDB | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 24.1.0, May 2024 | 3.4.10-2.10, November 2017 | 10 R1, October 2018 | ScyllaDB Open Source 5.4.1, January 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial free tier for a limited amount of database operations | Open Source Apache 2.0, commercial license available | Open Source GPL Version 2 | Open Source Mozilla public license | Open Source Open Source (AGPL), commercial license available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | Scylla Cloud: Create real-time applications that run at global scale with Scylla Cloud, the industry’s most powerful NoSQL DBaaS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Go | C++ | C | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Linux macOS Windows | Linux | Linux macOS | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | dynamic schema | schema-free | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | 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 | yes XML type, but no XML query functionality | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | yes cluster global secondary indices | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | yes, wire compatible with PostgreSQL | no | yes distributed, parallel query execution | SQL-like DML and DDL statements (CQL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | JDBC | proprietary protocol using JSON | ADO.NET JDBC native C library ODBC streaming API for large objects | Proprietary protocol (CQL) compatible with CQL (Cassandra Query Language, an SQL-like language) RESTful HTTP API (DynamoDB compatible) Thrift | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net ColdFusion Erlang Groovy Java JavaScript Perl PHP Python Ruby | C# C++ Clojure Go Java JavaScript (Node.js) PHP Python Ruby Rust | Actionscript C C# C++ Clojure ColdFusion D Dart Delphi Erlang Go Groovy Haskell Java JavaScript Lisp Lua MatLab Perl PHP PowerShell Prolog Python R Ruby Scala Smalltalk | .Net C C++ Delphi Erlang Java JavaScript (Node.js) Perl PHP Python Tcl | For CQL interface: C#, C++, Clojure, Erlang, Go, Haskell, Java, JavaScript, Node.js, Perl, PHP, Python, Ruby, Rust, Scala For DynamoDB interface: .Net, ColdFusion, Erlang, Groovy, Java, JavaScript, Perl, PHP, Python, Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | JavaScript | user defined functions | yes, Lua | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes by integration with AWS Lambda | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | 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 | Sharding | horizontal partitioning | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes | Multi-source replication using RAFT | Source-replica replication | selectable replication factor Representation of geographical distribution of servers is possible | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency can be specified for read operations | Immediate Consistency | Eventual Consistency Immediate Consistency | Immediate Consistency | Eventual Consistency Tunable Consistency can be individually decided for each write operation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | yes | 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 | ACID | no | ACID MVCC | no Atomicity and isolation are supported for single operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes via In-Memory Engine | no | yes in-memory tables | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles can be defined via the AWS Identity and Access Management (IAM) | Role-based access control | Access rights for users and roles | fine grained access rights according to SQL-standard | Access rights for users can be defined per object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon DynamoDB | CockroachDB | Percona Server for MongoDB | Postgres-XL | ScyllaDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | ScyllaDB is engineered to deliver predictable performance at scale. It’s adopted... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Highly-performant (efficiently utilizes full resources of a node and network; millions... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | ScyllaDB is ideal for applications that require high throughput and low latency at... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Discord, Epic Games, Expedia, Zillow, Comcast, Disney+ Hotstar, Samsung, ShareChat,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | ScyllaDB typically offers ~75% total cost of ownership savings, with ~5X higher throughput... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | ScyllaDB Open Source - free open source software (AGPL) ScyllaDB Enterprise - subscription-based... » 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon DynamoDB | CockroachDB | Percona Server for MongoDB | Postgres-XL | ScyllaDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | AWS announces Amazon DynamoDB zero-ETL integration with Amazon OpenSearch Service Simplify cross-account access control with Amazon DynamoDB using resource-based policies | Amazon Web Services Simplify private connectivity to Amazon DynamoDB with AWS PrivateLink | Amazon Web Services Introducing configurable maximum throughput for Amazon DynamoDB on-demand | Amazon Web Services Continuously replicate Amazon DynamoDB changes to Amazon Aurora PostgreSQL using AWS Lambda | Amazon ... provided by Google News | Cockroach Labs Deepens Partnership with Google Cloud, CockroachDB Selected to Join Google Distributed Cloud CockroachDB tempts legacy databases to crawl into the cloud age How DoorDash Migrated from Aurora Postgres to CockroachDB DoorDash Uses CockroachDB to Create Config Management Platform for Microservices How to Unlock Real-Time Data Streams with CockroachDB and Amazon MSK | Amazon Web Services provided by Google News | MongoDB Performance Tuning How to Plan Your MongoDB Upgrade There are lots of ways to put a database in the cloud – here's what to consider Why Isn't the World Upgrading Its Databases? FerretDB goes GA: Gives you MongoDB, without the MongoDB... provided by Google News | Sleeping at Scale - Delivering 10k Timers per Second per Node with Rust, Tokio, Kafka, and Scylla ScyllaDB Raises $43M to Take on MongoDB at Scale, Push Database Performance to New Levels Running ScyllaDB NoSQL on Kubernetes with Spot Instances ScyllaDB on AWS is a NoSQL Database Built for Gigabyte-to-Petabyte Scale | Amazon Web Services ScyllaDB Database Review | eWeek provided by Google News |
Share this page