Back to Blog

Amazon Aurora DSQL Pricing Guide

Alessandro Volpicella
by Alessandro Volpicella
Amazon Aurora DSQL Pricing Guide

Introduction

The day has come. There's a new serverless database in the house.

This time from AWS itself. And it's even a SQL database, which is really mind-blowing for us.

Amazon Aurora DSQL claims to be the fastest serverless distributed SQL database. We've been waiting for it for a long time. And now it's here.

We're already using it for a small internal application. We track every sale, newsletter subscriber, and some KPIs like lifetime value, etc., in this database.

But AWS did something unique this time: they didn't announce any pricing with the beta launch. So we were eagerly waiting for general availability.

Let's take a look at what AWS came up with and how much it will cost to run some example workloads.

Here's a first overview of the pricing:

One Pager

Pricing Definitions

The main selling point of this database is that AWS claims (again) that it's fully serverless. This means there are no upfront costs—you only pay for what you use. Whether that's really the case, we'll see in the end 😉

Of course, AWS has introduced some new units we need to learn about first. The new unit here is called DPU.

DPU = Distributed Processing Unit. This unit is used for calculating all request-based activities such as:

  • query processing
  • reads
  • writes

Storage, on the other hand, is based on total GB per month.

What this shows us is that even though there are no upfront costs, there will still be costs even if you don't have any reads or writes, because you still pay for storage. This makes sense.

In US East 1 (us-east-1), for example, the costs are:

ResourcePrice
DPU$8 per 1M units
Storage$0.33 per GB-month
RDS Infographic

RDS on One Page (No Fluff)

Manage databases efficiently. Our RDS cheat sheet covers instance types, backups, and scaling - the key aspects of database management.

HD quality, print-friendly. Stick it next to your desk.

Privacy Policy
By entering your email, you are opting in for our twice-a-month AWS newsletter. Once in a while, we'll promote our paid products. We'll never send you spam or sell your data.

What is a Distributed Processing Unit (DPU)

On the pricing page of DSQL, a DPU is defined as:

"A DPU is a normalized billing unit for all request-based activity—such as query processing, reads, and writes—in Aurora DSQL."

This means the pricing is pretty similar to DynamoDB. You pay for reads and writes. One thing that comes on top is that you also pay for compute.

We can calculate this using CloudWatch, since the metrics are available there:

  • ReadDPU
  • WriteDPU
  • ComputeDPU
  • MultiRegionWriteDPU

The total of these will be your total DPU usage.

Unfortunately, this is the most detailed definition I can provide for what a DPU is. I would have expected a clearer definition. What exactly is the definition of one read? Is it really just one read request? How is compute calculated?

Estimating the price of a migration or of an application isn't really straightforward yet.

How much does our application cost?

Like I said, we have an example application running. This is really a super small application, but let's see how we would calculate what it costs.

To calculate this, first copy your cluster ID from the Aurora DSQL console. Then follow these steps:

  1. Go to CloudWatch
  2. Navigate to All Metrics
  3. Add your cluster ID to the search and hit enter
  4. Click on the dimension cluster ID
  5. Select the metrics TotalDPU, ComputeDPU, ReadDPU, WriteDPU
  6. Select the statistic SUM
  7. Select the chart type Number
  8. Go to Options and select Value: Time range value shows the value from the entire time range

I know that's quite a few steps, but this will show you the total DPU and the breakdown. You can then multiply it by the pricing of your region.

Marc Brookes (one of the key engineers behind DSQL) also published a handy script for that here.

Our application currently costs $0.00287 per month.

Free Tier

"When there is pricing, there is a free tier." - Sandro Volpicella

AWS also offers a generous free tier for this database. Remember, the free tier applies monthly for this service. Each month, you can use 100,000 DPUs and 1 GB of free storage. I think this is quite generous to get started.

Data Transfer

The one thing everyone tends to forget: Data Transfer costs. We won't dive into them here. Please check out the EC2 pricing to understand them.

Backup and Restore Costs

One thing you need with every storage service is backups. Backups and restoring those backups come with their own costs. Backup is a fully managed service—and we love that.

AWS differentiates between Warm and Cold backups. AWS Backup is its own separate service.

Some example costs of backups for US East 1 (us-east-1) are:

ServicePricing
Warm Backup Storage$0.10 per GB-month
Cold Backup Storage$0.03 per GB-month
Warm Backup Restore$0.02 per GB-month
Cold Backup Restore$0.03 per GB-month

To be honest, there isn't much defined about what warm and cold backups actually are in DSQL. On the backup page, DSQL often isn't even mentioned as a supported service.

But in general, the backup strategies are defined as:

  • Warm - Fast retrieval, more expensive
  • Cold - Low cost, slower retrieval

Typically, you mix and match both of them. First, your backups are in warm storage, and after a few days, you move them to cold storage.

Summary

I hope this gives you some clarity on DSQL pricing. In general, this really is a fully serverless service. We don't have any upfront costs and only pay for what we use. The main monthly cost is storage. This means that even if you don't use the database, you will still pay for storage.

Unfortunately, understanding and estimating how many DPUs our applications need is not possible right now (at least for us). I think we just need to build on it and figure it out ourselves. But it is possible to calculate your monthly costs.

Having a SQL database at hand with purely usage-based pricing is simply amazing. This service has amazing potential, and I look forward to using it. It can be seen as the DynamoDB for SQL. Let's build and see how it performs.

Resources

Marc Brookes Pricing Guide

RDS Infographic

RDS on One Page (No Fluff)

Manage databases efficiently. Our RDS cheat sheet covers instance types, backups, and scaling - the key aspects of database management.

HD quality, print-friendly. Stick it next to your desk.

Privacy Policy
By entering your email, you are opting in for our twice-a-month AWS newsletter. Once in a while, we'll promote our paid products. We'll never send you spam or sell your data.