AWSDOP-C02
On this page
Beginner-friendly overview

Aurora

Aurora is AWS's cloud-native relational database engine. It's compatible with MySQL and PostgreSQL β€” meaning your existing applications, drivers, and queries work without modification β€” but it's built from the ground up for the cloud, delivering significantly better performance, availability, and scalability than running those databases on standard hardware.

How Aurora Differs from Standard RDS

When you run MySQL or PostgreSQL on a standard server (or on a standard RDS instance), the storage is tightly coupled to the compute. Aurora separates them. Your data lives in a distributed, fault-tolerant storage layer that spans three Availability Zones and maintains six copies of your data automatically. The database engine nodes connect to this shared storage tier rather than each managing their own disk.

This architecture has major practical benefits. A replica in Aurora isn't copying data from the primary β€” it's reading the same shared storage. Replicas can be added in minutes (not hours), there's almost no replication lag, and failover to a replica typically completes in under 30 seconds.

Aurora's trick: compute nodes are separate from one shared storage volume Writer reads + writes Reader 1 reads only Reader … 15 failover targets too One shared cluster storage volume β€” 6 copies of the data across 3 AZs AZ-a copy 1 Β· copy 2 AZ-b copy 3 Β· copy 4 AZ-c copy 5 Β· copy 6 Replicas don't copy from the writer β€” they read the same volume. That's why lag is ~10ms and failover is under 30s.

Key Features

Storage auto-scaling β€” Aurora's storage grows automatically in 10 GB increments as your data grows, up to 128 TB. You don't pre-provision storage or run out of disk at 3 AM.

Read replicas β€” you can add up to 15 read replicas that share the same underlying storage. They handle read traffic and serve as automatic failover targets. Adding a replica doesn't add replication overhead to the primary.

Aurora Serverless β€” an on-demand configuration where the database automatically scales compute capacity up and down (or pauses completely when idle) based on actual usage. Ideal for development environments, infrequent workloads, or applications with highly variable traffic.

Global Database β€” replicates your Aurora cluster to up to five additional AWS regions with typical replication lag under a second. Useful for disaster recovery and serving reads closer to global users.

Aurora is one shared hard drive in the sky. The database instances are just interchangeable heads plugged into the same 6-copy, 3-AZ storage volume β€” kill the writer and a reader takes over the same disk in under 30 seconds.
Memorize the magic numbers as 6 Β· 3 Β· 15 Β· 128: 6 copies, 3 AZs, 15 read replicas, 128 TB max storage.

When to Choose Aurora vs Standard RDS

Choose Aurora when you need higher throughput, better availability, or faster failover than standard MySQL/PostgreSQL offers. It costs about 20% more than standard RDS per instance, but the storage efficiency often makes up for it. Choose standard RDS when you need a specific database engine Aurora doesn't support (Oracle, SQL Server, MariaDB in specific versions) or when the workload is small and the cost difference matters.