Amazon Aurora and PlanetScale are MySQL database services, sometimes called “Database as a Service,” that elevate performance beyond the capabilities of plain MySQL. This also results in cost savings, a pivotal factor in selecting a database solution. However, as you’ll soon be able to see, the pricing for PlanetScale and Aurora can be difficult to compare since it comprises several distinct factors. That’s where the scenarios become particularly useful.

In two out of three scenarios, we found 18% and 132% savings using PlanetScale, and in one scenario, Aurora delivered 22% savings (read scenarios).

Amazon Aurora

Aurora is a relational database service that is compatible with MySQL and PostgreSQL. For this comparison, we will focus only on Aurora MySQL. Performance tests done by Amazon through SysBench show significantly higher throughput with Aurora than with MySQL’s default configurations.

Some key features include high performance, auto-scaling, automated database clustering and replication, and high durability. Aurora offers various options for configuration that we’ll discuss more in the pricing section. Serverless is one popular configuration because of its ability to automatically start up, shut down, and scale capacity upward or downward.

PlanetScale

PlanetScale is a MySQL-compatible database with reliable replication and high availability. PlanetScale leverages Vitess, an open-source database clustering system initially developed by YouTube to combat MySQL scalability challenges. Vitess is used by some of the industry leaders but can be complex to implement, which is where PlanetScale comes in.

PlanetScale is known for its advanced MySQL features, such as horizontal sharding, non-blocking schema changes, and high scalability. Scalability is tested and proven in this benchmark, where one million queries per second were successfully executed.

Aurora Pricing

As there often is with Amazon pricing, there are several factors to consider. The following configuration choices impact the way you are billed.

Cluster Configuration

Aurora clusters come in two flavors. Aurora Standard is ideal for “typical data access patterns and low to moderate I/O usage.” Aurora I/O-Optimized is recommended for, you guessed it, I/O-intensive applications. With this option, you can save up to 40% if your I/O spend is more than 25% of your total Aurora database spend.

Database Instance Configuration

Choose between Aurora Serverless, Aurora On-Demand, and Aurora Reserved Instances. Aurora Serverless is the pay-as-you-go option where you pay only for the capacity used. You are billed per second for Aurora Capacity Units (ACUs), where each ACU corresponds to approximately 2 GB of memory, along with corresponding CPU and networking resources, mirroring the configuration used in Aurora provisioned instances. A key serverless feature is the ability to scale up and down, and you can do so by setting the minimum and maximum number of ACUs to scale between.

Previously, with Aurora Serverless you had the option to further configure with the choice between Aurora Serverless v2 and Aurora Serverless v1. However, Amazon announced they are no longer supporting v1 as of December 31, 2024.

Measure Aurora Standard (per ACU hour) Aurora I/O-Optimized (per ACU hour)
Aurora Capacity Unit $0.12 $0.16

Aurora Serverless Version 2 Cost (US East)

With Aurora On-Demand, select an instance type and pay per database instance-hour.

Current Generation vCPU Memory Network Performance Aurora Standard (Price Per Hour) Aurora I/O-Optimized (Price Per Hour)
db.t3.small 2 2 Low to Moderate $0.04 $0.05
db.t4g.medium 2 4 Up to 5 $0.07 $0.10
db.t3.medium 2 4 Low to Moderate $0.08 $0.11
db.t4g.large 2 8 Up to 5 $0.15 $0.19
db.t3.large 2 8 Low to Moderate $0.16 $0.21
db.r7g.large 2 16 Up to 12.5 $0.28 $0.36
db.r6g.large 2 16 Up to 10 $0.26 $0.34
db.r6i.large 2 16 Up to 12.5 $0.29 $0.38
db.r5.large 2 16 Up to 10 $0.29 $0.38
db.x2g.large 2 32 Up to 10 $0.38 $0.49
db.r7g.xlarge 4 32 Up to 12.5 $0.55 $0.72
db.r6g.xlarge 4 32 Up to 10 $0.52 $0.68
db.r6i.xlarge 4 32 Up to 12.5 $0.58 $0.75
db.r5.xlarge 4 32 Up to 10 $0.58 $0.75
db.x2g.xlarge 4 64 Up to 10 $0.75 $0.98
db.r7g.2xlarge 8 64 Up to 15 $1.11 $1.44
db.r6g.2xlarge 8 64 Up to 10 $1.04 $1.35
db.r6i.2xlarge 8 64 Up to 12.5 $1.16 $1.51
db.r5.2xlarge 8 64 Up to 10 $1.16 $1.51
db.x2g.2xlarge 8 128 Up to 10 $1.51 $1.96
db.r7g.4xlarge 16 128 Up to 15 $2.21 $2.87
db.r6g.4xlarge 16 128 Up to 10 $2.08 $2.70
db.r6i.4xlarge 16 128 Up to 12.5 $2.32 $3.02
db.r5.4xlarge 16 128 Up to 10 $2.32 $3.02
db.x2g.4xlarge 16 256 Up to 10 $3.02 $3.92
db.r7g.8xlarge 32 256 15 $4.42 $5.75
db.r6g.8xlarge 32 256 12 $4.15 $5.40
db.r6i.8xlarge 32 256 12.5 $4.64 $6.03
db.r5.8xlarge 32 256 10 $4.64 $6.03
db.x2g.8xlarge 32 512 12 $6.03 $7.84
db.r7g.12xlarge 48 384 22.5 $6.63 $8.62
db.r6g.12xlarge 48 384 20 $6.23 $8.10
db.r6i.12xlarge 48 384 18.75 $6.96 $9.05
db.r5.12xlarge 48 384 10 $6.96 $9.05
db.x2g.12xlarge 48 768 20 $9.05 $11.76
db.r7g.16xlarge 64 512 30 $8.84 $11.50
db.r6g.16xlarge 64 512 25 $8.31 $10.80
db.r6i.16xlarge 64 512 25 $9.28 $12.06
db.r5.16xlarge 64 512 20 $9.28 $12.06
db.x2g.16xlarge 64 1024 25 $12.06 $15.68
db.r6i.24xlarge 96 768 37.5 $13.92 $18.10
db.r5.24xlarge 96 768 25 $13.92 $18.10
db.r6i.32xlarge 128 1,024 50 $18.56 $24.13


Aurora On-Demand Cost (US East)

Aurora Reserved Instances are recommended for “steady-state database workloads,” and these one-year or three-year commitments provide huge savings.

Storage and I/O

Component Aurora Standard Aurora I/O-Optimized
Storage Rate $0.10 per GB-month $0.225 per GB-month
I/O Rate $0.20 per 1 million requests Included

Aurora Storage and I/O Cost (US East)

PlanetScale Pricing

PlanetScale’s pricing structure is designed for simplicity and predictability. There are four plans:

  • Hobby (Free-Tier): A free option for projects that need only a small amount of storage and row read/writes.
  • Scaler: Recommended for lower-traffic applications.
  • Scaler Pro: Choose from multiple options on compute and memory. No additional charge for I/O.
  • Enterprise: Custom pricing that is not publicly listed, with over 18 cluster sizes that extend Scaler Pro, and flexibility in the pricing method. Enterprise plans include horizontal sharding and can handle massive workloads.
Measure Scaler Scaler Pro
Monthly Price $29 per database $39-$999 based on cluster size
Storage 10 GB included $2.50 / additional GB 10 GB included $1.50 / additional GB
Row reads/month 100 billion included $1 / additional billion Unlimited
Row writes/month 50 million included $1.50 / additional million Unlimited
Availability zones 1 3
Production branches 2 1 included (Pay-as-you-go for additional branches)
Development branches 5 2 included (Pay-as-you-go for additional branches)

PlanetScale Scaler and Scaler Pro Cost (US East)

Every production branch in the Scaler Pro plan corresponds to a database cluster. Clusters include two read replicas.

Scaler Pro Monthly Price per cluster vCPU GB RAM
PS-10 $39 .125 1
PS-20 $59 .25 2
PS-40 $99 .5 4
PS-80 $179 1 8
PS-160 $349 2 16
PS-320 $699 4 32
PS-400 $999 8 32

PlanetScale Scaler Pro Cost (US East)

Initial Observations on Aurora vs PlanetScale Pricing

  • It is simple to choose which PlanetScale service matches your use case and predict the cost.
  • Aurora has more options and is more customizable with various configurations and over 40 instance types to choose from.
  • Certain Aurora use cases that utilize the Serverless or Standard plans can be relatively inexpensive. However, it is important to make sure they’re chosen and configured correctly to avoid unexpected high costs.
  • PlanetScale databases come with default replication across three availability zones, resulting in triple the provisioned compute compared to the comparable Aurora database. As we’ll see in one of our scenarios, this can lead to high Aurora costs.
  • Additional storage past the 10 GBs included with PlanetScale is charged at $1.50 per GB, which could add up to be costly. However, the cost is more comparable to Auroras when you factor in the included backup storage, binlogs, and bandwidth transferred to and from the database.

Additional Costs for Aurora and PlanetScale

Commonly used features that may incur additional costs are as follows:

Aurora Additional Costs

  • RDS Proxy: Pools and shares database connections, enhancing scalability and enabling IAM usage.
  • Read Replicas: Read replicas support read operations and are used to “offload read workloads from the primary DB instance.” AWS recommends creating one or more replicas for high-availability scenarios.
  • Global Database Costs: Replicates data to secondary regions for globally distributed applications.
  • Backup Storage: Option to add automated database backups and database cluster snapshots.
  • Backtrack: Allows restoring of your database from a previous point in time.
  • Data API: A HTTPS API for running SQL queries.
  • Data Transfer: Charges occur for data transferred in/out.

PlanetScale Additional Costs

Example Scenarios Aurora vs PlanetScale

Scenario 1: Education System

A district manages an online education system that houses crucial student information, including grades and records. The amount of storage and CPU needed is small; although is accessed and updated frequently, particularly during the end of the semester when grades are released. They’ll need 0.5 vCPUs, 4 GB RAM, 3 GB of storage, and 10 GB of backup storage.

We need to choose which Aurora configuration to compare with PlanetScale Scaler Pro PS-40. Aurora Serverless is an ideal choice over On-Demand in this scenario because of its ability to scale up and down and since On-Demand instances have a minimum size of 2 CPUs and 2 GB RAM.

Even more configuration decisions need to be made for Aurora Serverless—the choice between Standard and I/O Optimized instances. While I/O Optimized instances may be suitable for lower-traffic months, the potential for increased costs during traffic surges, such as when numerous students check their grades simultaneously, may lead to higher costs. In this case, high numbers of I/O operations lead to an estimate of $136 a month.

Seeking predictability in pricing, the education system opts for I/O Optimized instances at a steady cost of $117 per month (see calculations). In comparison, PlanetScale offers a flat rate of $99, encompassing I/O, storage, and backup storage, for 18% savings using PlanetScale.

Scenario 2: Distribution Center

A distribution center handles extensive amounts of data volumes, encompassing inventory, shipments, and retailer information. Data is accessed and updated frequently for actions such as checking stock availability and processing orders. They’re looking for a solution that scales effectively due to the dynamic nature of inventory data and supports the high transaction volumes.

To compare potential solutions, consider Aurora On-Demand I/O Optimized with the db.r7g.xlarge instance type and PlanetScale Scaler Pro PS-320. Both configurations feature 4 CPUs and 32 GB RAM. The distribution center stores 8 GB of data and an additional 20 GB of backup data.

Using AWS pricing calculator, we can estimate the monthly cost for Aurora to be $571. In contrast, PlanetScale pricing offers a fixed-rate pricing model at $699, encompassing I/O, storage, and backup storage, meaning Aurora delivers 22% savings.

Scenario 3: Global Distribution Center

The same distribution center grows and expands its reach to global operations. They now need to coordinate inventory, shipments, and data across multiple regions, introducing complexities related to accessibility and response times.

Often, businesses leverage read replicas to enhance performance and reduce latency. As we mentioned earlier, this is the recommended approach of AWS for high-availability scenarios. Aurora applies instance charges to both primary instances and replicas. In contrast, with PlanetScale, two read replicas are included in the pricing model.

Building off the previous scenario, the primary instance for Aurora is still $571. With read replicas, you are charged for the instance. As we saw in Scenario 2, Aurora is priced at $525 per instance, making the total cost $1621 when adding two read replicas. The PlanetScale cost remains the same, at $699, resulting in 132% savings using PlanetScale.

Conclusion

Aurora and PlanetScale both greatly elevate beyond the capabilities of MySQL, with high durability and scalability. Aurora stands out with its versatility and extensive customization options, allowing users to tailor configurations to diverse use cases. This flexibility, however, comes with a complexity in pricing structures that may require careful consideration.

PlanetScale excels in simplicity and predictability in pricing, making it an ideal choice for users who don’t want to navigate intricate configurations or incur unexpected costs. The inclusion of read replicas in PlanetScale’s pricing model adds value, particularly in high-availability scenarios, resulting in substantial cost savings.