Amazon DynamoDB vs Azure Cosmos DB: What are the differences?
Developers describe Amazon DynamoDB as "Fully managed NoSQL database service". All data items are stored on Solid State Drives (SSDs), and are replicated across 3 Availability Zones for high availability and durability. With DynamoDB, you can offload the administrative burden of operating and scaling a highly available distributed database cluster, while paying a low price for only what you use. On the other hand, Azure Cosmos DB is detailed as "A fully-managed, globally distributed NoSQL database service". Azure DocumentDB is a fully managed NoSQL database service built for fast and predictable performance, high availability, elastic scaling, global distribution, and ease of development.
Amazon DynamoDB and Azure Cosmos DB belong to "NoSQL Database as a Service" category of the tech stack.
Some of the features offered by Amazon DynamoDB are:
- Automated Storage Scaling – There is no limit to the amount of data you can store in a DynamoDB table, and the service automatically allocates more storage, as you store more data using the DynamoDB write APIs.
- Provisioned Throughput – When creating a table, simply specify how much request capacity you require. DynamoDB allocates dedicated resources to your table to meet your performance requirements, and automatically partitions data over a sufficient number of servers to meet your request capacity. If your throughput requirements change, simply update your table's request capacity using the AWS Management Console or the Amazon DynamoDB APIs. You are still able to achieve your prior throughput levels while scaling is underway.
- Fully Distributed, Shared Nothing Architecture – Amazon DynamoDB scales horizontally and can seamlessly scale a single table over hundreds of servers.
On the other hand, Azure Cosmos DB provides the following key features:
- Fully managed with 99.99% Availability SLA
- Elastically and highly scalable (both throughput and storage)
- Predictable low latency: <10ms @ P99 reads and <15ms @ P99 fully-indexed writes
"Predictable performance and cost" is the top reason why over 53 developers like Amazon DynamoDB, while over 13 developers mention "Best-of-breed NoSQL features" as the leading cause for choosing Azure Cosmos DB.
Lyft, New Relic, and Sellsuki are some of the popular companies that use Amazon DynamoDB, whereas Azure Cosmos DB is used by Microsoft, Rumble, and Property With Potential. Amazon DynamoDB has a broader approval, being mentioned in 429 company stacks & 173 developers stacks; compared to Azure Cosmos DB, which is listed in 24 company stacks and 23 developer stacks.
What is Amazon DynamoDB?
What is Azure Cosmos DB?
Want advice about which of these to choose?Ask the StackShare community!
What are the cons of using Amazon DynamoDB?
What tools integrate with Amazon DynamoDB?
For most of the stuff we use MySQL. We just use Amazon RDS. But for some stuff we use Amazon DynamoDB. We love DynamoDB. It's amazing. We store usage data in there, for example. I think we have close to seven or eight hundred million records in there and it's scaled like you don't even notice it. You never notice any performance degradation whatsoever. It's insane, and the last time I checked we were paying $150 bucks for that.
zerotoherojs.com ’s userbase, and course details are stored in DynamoDB tables.
The good thing about AWS DynamoDB is: For the amount of traffic that I have, it is free. It is highly-scalable, it is managed by Amazon, and it is pretty fast.
It is, again, one less thing to worry about (when compared to managing your own MongoDB elsewhere).
We store customer metadata in DynamoDB. We decided to use Amazon DynamoDB because it was a fully managed, highly available solution. We didn't want to operate our own SQL server and we wanted to ensure that we built CloudRepo on high availability components so that we could pass that benefit back to our customers.
When creating proofs of concept or small personal projects that are hosted primarily in AWS, with non-relational data models, this is the NoSQL managed database I usually pair them with.
몇몇 로그는 현재 AWS DynamoDB 에 기록되고 있습니다. 개선을 통해 mongodb 로 옮길 계획을 하고 있습니다. 아주 간단한 데이터를 쌓는 용도로는 나쁘지 않습니다. 다만, 쿼리가 아주 제한적입니다. 사용하기 전에 반드시 DynamoDB 의 스펙을 확인할 필요가 있습니다.