Amazon DynamoDB vs Amazon S3

Need advice about which tool to choose?Ask the StackShare community!

Amazon DynamoDB

3.7K
3.2K
+ 1
195
Amazon S3

52.4K
39.2K
+ 1
2K
Add tool

Amazon DynamoDB vs Amazon S3: What are the differences?

Introduction

Amazon DynamoDB and Amazon S3 are both storage services provided by Amazon Web Services (AWS). However, there are key differences between these two services in terms of their use cases, data structure, data access patterns, scalability, and pricing.

  1. Use Cases: Amazon DynamoDB is a NoSQL database service that is ideal for applications requiring low-latency data retrieval and high scalability. It is well-suited for use cases such as real-time bidding, gaming leaderboards, and user profiles. On the other hand, Amazon S3 is an object storage service designed for storing and retrieving large amounts of data. It is commonly used for backup and restore, data archiving, and content distribution.

  2. Data Structure: DynamoDB stores data in a key-value format, where each item contains a primary key and one or more attribute values. It allows for flexible schema design and can handle both structured and unstructured data. In contrast, S3 is an object storage system that organizes data into buckets and objects. Each object is identified by a unique key (URL) and can contain any amount of data.

  3. Data Access Patterns: DynamoDB provides fast and predictable performance, with millisecond latency for both read and write operations. It supports both single-item and batch operations, as well as advanced features like conditional writes and transactions. S3, on the other hand, offers eventual consistency for read operations, which means that changes may take some time to propagate across all regions. It is optimized for write-once, read-many (WORM) scenarios and is not suitable for real-time data updates.

  4. Scalability: DynamoDB is designed to scale horizontally and can handle millions of requests per second. It provides automatic partitioning and replication of data across multiple servers and data centers. S3, on the other hand, automatically scales to support the storage needs of applications. It can store virtually unlimited amounts of data and has a durable design that protects against data loss.

  5. Pricing: DynamoDB pricing is based on throughput capacity (provisioned or on-demand) and storage used. It offers flexible pricing options and allows for cost optimization based on application needs. S3 pricing is based on the amount of data stored, data transfer, and API requests. It also offers various storage classes (e.g., Standard, Intelligent-Tiering, Glacier) with different price points based on data access frequency.

  6. Data Retrieval: DynamoDB allows for querying and scanning data based on the primary key or secondary indexes. It supports both single-item and range queries, and provides advanced filtering capabilities. S3, on the other hand, primarily supports object retrieval based on the unique key (URL) of the object. Although it offers features like bucket policies and access control lists (ACLs) to manage access to objects, it does not provide complex querying capabilities like DynamoDB.

In Summary, Amazon DynamoDB is a highly scalable NoSQL database service, optimized for low-latency data retrieval, and offers flexible schema design. Amazon S3, on the other hand, is an object storage service suitable for storing and retrieving large amounts of data, with a focus on durability and simplicity of data access.

Decisions about Amazon DynamoDB and Amazon S3
Gabriel Pa

We offer our customer HIPAA compliant storage. After analyzing the market, we decided to go with Google Storage. The Nodejs API is ok, still not ES6 and can be very confusing to use. For each new customer, we created a different bucket so they can have individual data and not have to worry about data loss. After 1000+ customers we started seeing many problems with the creation of new buckets, with saving or retrieving a new file. Many false positive: the Promise returned ok, but in reality, it failed.

That's why we switched to S3 that just works.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Amazon DynamoDB
Pros of Amazon S3
  • 62
    Predictable performance and cost
  • 56
    Scalable
  • 35
    Native JSON Support
  • 21
    AWS Free Tier
  • 7
    Fast
  • 3
    No sql
  • 3
    To store data
  • 2
    Serverless
  • 2
    No Stored procedures is GOOD
  • 1
    ORM with DynamoDBMapper
  • 1
    Elastic Scalability using on-demand mode
  • 1
    Elastic Scalability using autoscaling
  • 1
    DynamoDB Stream
  • 590
    Reliable
  • 492
    Scalable
  • 456
    Cheap
  • 329
    Simple & easy
  • 83
    Many sdks
  • 30
    Logical
  • 13
    Easy Setup
  • 11
    REST API
  • 11
    1000+ POPs
  • 6
    Secure
  • 4
    Plug and play
  • 4
    Easy
  • 3
    Web UI for uploading files
  • 2
    Faster on response
  • 2
    Flexible
  • 2
    GDPR ready
  • 1
    Easy to use
  • 1
    Plug-gable
  • 1
    Easy integration with CloudFront

Sign up to add or upvote prosMake informed product decisions

Cons of Amazon DynamoDB
Cons of Amazon S3
  • 4
    Only sequential access for paginate data
  • 1
    Scaling
  • 1
    Document Limit Size
  • 7
    Permissions take some time to get right
  • 6
    Requires a credit card
  • 6
    Takes time/work to organize buckets & folders properly
  • 3
    Complex to set up

Sign up to add or upvote consMake informed product decisions

What is Amazon DynamoDB?

With it , 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.

What is Amazon S3?

Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web

Need advice about which tool to choose?Ask the StackShare community!

What companies use Amazon DynamoDB?
What companies use Amazon S3?
See which teams inside your own company are using Amazon DynamoDB or Amazon S3.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Amazon DynamoDB?
What tools integrate with Amazon S3?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Amazon DynamoDB and Amazon S3?
Google Cloud Datastore
Use a managed, NoSQL, schemaless database for storing non-relational data. Cloud Datastore automatically scales as you need it and supports transactions as well as robust, SQL-like queries.
MongoDB
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
Amazon SimpleDB
Developers simply store and query data items via web services requests and Amazon SimpleDB does the rest. Behind the scenes, Amazon SimpleDB creates and manages multiple geographically distributed replicas of your data automatically to enable high availability and data durability. Amazon SimpleDB provides a simple web services interface to create and store multiple data sets, query your data easily, and return the results. Your data is automatically indexed, making it easy to quickly find the information that you need. There is no need to pre-define a schema or change a schema if new data is added later. And scale-out is as simple as creating new domains, rather than building out new servers.
MySQL
The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
Amazon Redshift
It is optimized for data sets ranging from a few hundred gigabytes to a petabyte or more and costs less than $1,000 per terabyte per year, a tenth the cost of most traditional data warehousing solutions.
See all alternatives