Aurora
Aurora
MySQL- and Postgres-compatible, storage decoupled from compute, and the AWS database most likely to be your default choice by inertia rather than by decision. That storage layer replicates six ways across three Availability Zones automatically, scales to 128 TB with no downtime, and fails over in under 30 seconds — which is also why AWS's throughput claims (up to 5x MySQL, up to 3x PostgreSQL) hold up: replicas read the writer's storage directly instead of replaying a binary log. Provisioned instances or Serverless v2, Aurora Standard or I/O-Optimized — both are real cost decisions covered here, not footnotes. Eight pages, in the order the decisions actually depend on each other — start at one, not wherever looks interesting.
This mostly isn't a decision made on Aurora's own merits — match your team's
existing engine and tooling. But one specific mechanism is worth knowing
before you assume parity: Aurora PostgreSQL doesn't run vanilla vacuum
behavior unmodified. Adaptive autovacuum (rds.adaptive_autovacuum, on by
default) automatically makes autovacuum more aggressive as a table's
transaction age approaches autovacuum_freeze_max_age, which vanilla
PostgreSQL doesn't do on its own.
Aurora trades per-operation I/O billing (on Standard storage) and a higher instance rate for AZ-level durability and reader scaling that shares the writer's storage layer instead of replaying a binary log. You're not paying for "faster" — you're paying for a different storage architecture, and that architecture has a different cost shape than RDS's flat EBS-backed billing.
I/O-Optimized isn't a general upgrade — it's a tax on compute and storage in exchange for removing I/O charges entirely. Storage runs roughly 2.25x (about +125%) the Standard rate, and instance/compute pricing runs roughly 30% higher, in exchange for zero per-operation billing.
An Aurora cluster trades per-replica cost (up to 15 Aurora Replicas) for read scaling that shares the writer's storage layer — but the default reader endpoint trades isolation for simplicity, load-balancing all read traffic across all replicas undifferentiated.
Serverless v2 trades a per-ACU-hour premium (its rate is set so flexibility costs more than provisioned capacity at comparable steady utilization) for scaling in 0.5 ACU increments instead of whole instance classes — real elasticity for spiky or idle-most-of-the-day workloads.
Aurora's fast failover trades a same-AZ storage architecture for an application-layer requirement — your connection/retry logic still has to reconnect via the cluster's DNS endpoint, because "fast" at the database layer doesn't automatically mean invisible at the application layer.
Backtrack (MySQL-compatible only) trades storage cost for change records — billed per million change records per hour — for a fast in-place rewind that avoids a full restore-to-new-instance. It's not a backup; it's a precision undo tool with its own cost and its own limits.
Every vendor page assumes you've already decided to buy the product — this section is the one every competitor's content skips.