Does DynamoDB have a dependency on Amazon S3?

Thousands of customers use Amazon DynamoDB to build popular applications for Gaming, Mobile, Ad-tech, Internet-of-Things  and Modern Web applications. Developers all over the world are using Amazon DynamoDB to build applications that take advantage of its ability to provide consistent low-latency performance. Developers enjoy the flexibility provided by DynamoDB’s schema-less model, along with the ability to scale capacity up and down as needed. But we want to ask the question, does DynamoDB have a dependency on Amazon S3?

Does DynamoDB have a dependency on Amazon S3?

DynamoDB is a NoSQL database that is generally useful for storing any number of small records with single digit millisecond latency. It is a fully managed cloud database that is built exclusively on Solid State Drives (SSDs). SSDs have a lot of suitable characteristics for DynamoDB such as predictable low-latency response times for storing and accessing data at any scale. The high I/O performance of SSDs are great for high-scale request workloads at a decent cost.

Amazon S3 on the other hand is an object storage capable of storing very large objects, up to 5TB in size. The purpose of S3 is to store any amount of data at any time. There is no limit on the number of objects that can be stored in an S3 bucket. Each object in S3 has its own URL which can be used to download the object.

Use the best of both

Amazon DynamoDB stores structured data, indexed by a primary key, and allows low latency read and write access to items ranging from 1 byte up to 400KB. In order to optimize your costs across AWS services, large objects or infrequently accessed data sets should be stored in Amazon S3, while smaller data elements or file pointers (possibly to Amazon S3 objects) are best saved in Amazon DynamoDB.

Video: Introduction to Amazon DynamoDB from Amazon Web Services.

If Amazon S3 were to go down, does this mean that DynamoDB will also fail?

The question is if Amazon S3 were to go down, does this mean that DynamoDB will also fail? The answer is that if you have DynamoDB data residing in S3, it is highly available and data residing in S3 isn’t dependent on an individual S3 service region, so it would take an S3 failure in multiple regions to cause disruption.

DynamoDB itself is a highly available service. It is fine if possible to run a database solely on DynamoDB data storage. The service replicates data across three facilities in an AWS Region to provide fault tolerance in the event of a server failure or Availability Zone outage. It also synchronously replicates data across three facilities within an AWS Region to achieve high uptime and durability.

You can rely on S3 when it is needed

Amazon S3 Standard is designed for up to 99.99% availability of objects over a given year and is backed by the Amazon S3 Service Level Agreement, ensuring that you can rely on it when needed. You can also choose an AWS region to optimize for latency, minimize costs, or address regulatory requirements.

Even better again S3 is not region specific, as it uses a feature called cross-region replication (CRR). This means that S3 automatically replicates data across AWS regions (provided a destination bucket in a different region is specified when configuring the source bucket). Each object uploaded to an S3 bucket is automatically replicated to a destination bucket in a different AWS region that you choose. This literally means copies of S3 data are stored hundreds of miles apart in different geographical locations!

Data Replication Options in AWS

Data Replication Options in AWS – Source Amazon Web Services

So the truth is that if the S3 service goes down in one region it will not affect DynamoDB so long as it is not down in the second region, and as it can be considered a near guarantee that this won’t happen it isn’t really a cause for concern among DynamoDB users, especially if S3 is only used for features that aren’t pivotal for the operation of the database.

Feature image source: Amazon Web Services

About CloudRanger

CloudRanger are specialists in automation and scheduling for your Amazon Web Services (AWS) cloud resources. Easily schedule your AWS cloud servers to start, stop and manage snapshots automatically. We also offer a range of cloud consulting services that are focused on helping small and medium businesses move to Amazon Web Services to gain strategic advantage for their business through lower costs or scalability.

Try CloudRanger for free

We offer a 14-day free trial, so you can try out our services for yourselves. This will help you get a feel for what we do, and how we can help.

start_your_free_trial_button