RDS Engines and Aurora

~10 min read

Standard open-source and commercial engines versus AWS's own cloud-native Aurora.

RDS supports standard engines — MySQL, PostgreSQL, MariaDB — as well as commercial engines Oracle and SQL Server, each behaving essentially identically to running that same engine yourself, just with AWS managing the operational overhead. This makes RDS a natural fit for lifting an existing application's database to AWS with minimal changes, since the SQL dialect, drivers, and behavior stay the same.

Amazon Aurora is AWS's own database engine, compatible with either the MySQL or PostgreSQL wire protocol (so existing drivers and most application code work unchanged), but built on a distributed, cloud-native storage architecture that decouples compute from a self-healing, auto-scaling storage layer replicated across multiple AZs. This gives Aurora meaningfully higher throughput and faster failover than standard RDS engines running the same workload, along with features like Aurora Serverless (automatically scaling compute capacity up and down, including to zero) that standard RDS engines don't offer.

The general guidance: if migrating an existing application with engine-specific dependencies (stored procedures, specific extensions), stick with the matching standard engine; if building new or willing to adapt, Aurora usually offers better performance and operational characteristics for MySQL/PostgreSQL-compatible workloads at a modest cost premium over standard RDS.

💬 Deep Dive with AI

Key points

  • •Standard engines (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server): behave like the real thing, good for lift-and-shift
  • •Aurora: MySQL/PostgreSQL-compatible, cloud-native distributed storage, higher throughput, faster failover
  • •Aurora Serverless scales compute automatically, including to zero, for variable/intermittent workloads
  • •Choose standard engines for exact compatibility needs; Aurora for new builds wanting better cloud-native performance