💻 AWS Databases Made Easy: Get to Know RDS, DynamoDB, and S3 📊


Hi Reader 👋🏽

Tobi & I took 3-days off of our full-time jobs, sat together and created content in full focus mode. In the upcoming weeks you will see a lot more visual content like Infographics, Cheatsheets, and blog posts.

This newsletter edition is all about 💾 Databases & Storage on AWS. You have endless options on AWS for using different services for persisting your data. This post will give you an introduction to the three most important services in this area.

  1. RDS - A Managed SQL Database
  2. DynamoDB - A fully managed NoSQL Database
  3. S3 - Storage for saving larger larger objects (BLOB)

DynamoDB was already covered in the last issue but we actually wanted to go one step back and provide you an overview of these three services.

We'll provide you with one example use case for every service. With that you should be able to understand when to use which service.

Fully Managed

One thing all three services have in common is that they are fully-managed by AWS. As we’ve already learned in previous newsletters it is a good idea to hand over as much of the infrastructure responsibility to AWS. You can focus on your actual business logic of your application. AWS takes care of the rest.

Amazon RDS (Relational Database Service)

RDS is a fully managed SQL database service. With RDS your deployments, scaling, migrations, and backups can easily be done and AWS takes care of that for you.

RDS is offering you to build a SQL (Structured Query Language) database. SQL databases are especially useful for doing so-called OLAP use cases. OLAP means Online Analytical Processing. A typical OLAP process includes aggregation operations such as:

  • Counting your data
  • Calculating averages or medians
  • Summing up data

A good example for that is analyzing your web data. Let's take the following example:

A user visits our landing page => An API is called that is handled by a Lambda function. The Lambda function adds an entry into RDS with the following data:

  • Timestamp
  • "Pageview"

If you now want to analyze how many page-views you had in the last 7 days, you can execute a SQL query to get that result:

This is a typical OLAP use case.

DynamoDB - The Fully Managed NoSQL DB

DynamoDB on the other hand is a so-called NoSQL Database. It is optimized for Online Transaction Processing (OLTP) workloads.

OLTP workloads especially involve a high load of incoming traffic. DynamoDB automatically scales with you on this traffic. A typical example is the insertion of a high number of IOT sensors into DynamoDB via DynamoDB streams.

One amazing capability of DynamoDB is that its pricing is to 100% usage based. That means if you don't use it you won't pay 1 ct.

DynamoDB saves your data in a JSON format. One of the major differences to RDS is that DynamoDB doesn't follow a schema while inserting data. That means that there are no enforced constraints by the database engine about how the data has to look like. If you need to insert a new field, you can write it immediately.

This doesn't mean that there is no schema. Your application still follows an implicit schema definition, as it expects the data to be in a given format.

S3 - The Most Cost-Effective Way of Saving Large Objects

The last service we are introducing is S3. S3 is one of the most popular services of AWS out there.

S3 has one of the highest durability rates of 99.999999999%. Combined with an uptime Service-Level Agreement of 99.99%, your data is save and always available.

S3 is mostly used for saving BLOBs (Binary Large Object). Typical BLOB objects are:

  • Large JSON files
  • Video files
  • Image files
  • Media files

S3 is not a database. It is a storage option. S3 lets you create buckets and objects within these buckets. S3 has no upper limit of storage size. You can save as much as you want in a bucket.

A typical S3 use case is hosting a static website. You can save your HTML file, images, and all assets in a bucket. Put a CloudFront distribution in front that will serve your files and your hosting is done.

Thats It 🎉

Thats all about our recommend database & storage options on AWS. One amazing thing about AWS databases is that they offer purpose built database. You have even more options to choose from:

  • Graph: Amazon Neptune
  • Time Series: Amazon Timestream
  • Ledger: Amazon QLDB

... to name just a few. We see that many people get overwhelmed with the sheer number of database options. That is why we recommend sticking to the three storage options of this newsletter from the beginning and focusing on mastering those first.

Let us know what you think. Are you interested in any other database solutions?

Reply to this email and send us your comments.

See you in two weeks 👋🏽

Tobi & Sandro

Related Blog Posts

AWS for the Real World

Join our community of over 8,800 readers delving into AWS. We highlight real-world best practices through easy-to-understand visualizations and one-pagers. Expect a fresh newsletter edition every two weeks.

Read more from AWS for the Real World

⌛ Reading time: 10 minutes 🎓 Main Learning: Building a Serverless Platform With SST, Lambda & Next.js ✍️ Read the Full Post Online 🔗 Hey Reader 👋🏽 In this post, we want to guide you through our complete setup for our custom video platform. Our CloudWatch Book's Video Section This starts from the purchase to actually accessing our custom build video-access platform. Overview about our CloudWatch Book Landing Page & Video Platform Architecture We'll explain why we decided against a third-party...

⌛ Reading time: 11 minutes 🎓 Main Learning: Step Functions - Express vs. Standard 👾 GitHub Code ✍️ Blog Post Hey Reader while Sandro is learning something new at the AWS Community Day in Munich today, we'll explore Express and Standard Step Functions, the two types of workflows offered by AWS Step Functions. We’ll break down their differences, when to use each, and the benefits of both. Example Application: running both workflow types to see their performance differences If you want to try...

Hey Reader First things first: we apologize for not providing updates on The CloudWatch Book for a while! 😢 Sometimes, things don't go as planned and unexpected obstacles arise. But now, we're back in action, creating videos and putting the final touches on the book's content! 🎥 Don't just take our word for it! As an early subscriber, here's a free video from one of our favorite chapters: Anomaly Detection 🐛 In this deep-dive, you'll learn how to detect unusual patterns in metrics without...