Database
    🗄️Database

    Amazon Aurora

    High-performance MySQL and PostgreSQL-compatible relational database

    Aurora is a relational database that's MySQL and PostgreSQL compatible, but re-engineered by AWS to be faster, more durable, and more scalable. It replicates your data across 6 copies in 3 Availability Zones automatically, can handle 5x more throughput than standard MySQL, and can scale read capacity by adding up to 15 read replicas. It's like having a race car that looks and drives like your familiar sedan but goes three times faster and never breaks down. You use the same SQL queries and tools you're used to, but Aurora handles the heavy lifting of replication, failover, and scaling.

    Aurora is a cloud-native relational database that separates compute (database instances) from storage (distributed, fault-tolerant storage layer). Storage automatically replicates data 6 ways across 3 AZs and can scale up to 128TB (or 256TB with newer engine versions) without downtime. Aurora supports two modes: Provisioned (choose instance size) and Serverless (auto-scales based on load).

    Key Capabilities

    • Distributed storage layer automatically grows in 10GB increments up to 128TB and maintains 6 copies of data across 3 Availability Zones with self-healing
    • Aurora Replicas: up to 15 read replicas share the same underlying storage volume, eliminating replication lag and enabling instant failover promotion
    • Aurora Serverless v2: auto-scales compute capacity in fine-grained increments based on actual load, scaling down to a configurable minimum during idle periods
    • Global Database: cross-region replication with sub-second lag, supporting up to 5 secondary regions for low-latency global reads and disaster recovery
    • Wire-compatible with MySQL and PostgreSQL, allowing most applications and tools to connect without code changes
    • Babelfish for Aurora PostgreSQL: accepts SQL Server (T-SQL) wire protocol and queries, easing migration from SQL Server without full application rewrites

    Gotchas & Constraints

    Gotcha #1: Aurora is more expensive than RDS MySQL/PostgreSQL; use it when you need the performance and scalability benefits. Gotcha #2: Aurora Serverless v1 has cold start delays (up to 30 seconds); v2 improves this but costs more. Constraints: MySQL and PostgreSQL compatibility only (no Oracle, SQL Server). Storage costs are higher than RDS EBS storage but include replication and backups.

    A SaaS platform runs on RDS MySQL with 5 read replicas to handle read-heavy workloads. Replication lag spikes to 30 seconds during peak hours, causing stale data issues. They migrate to Aurora MySQL, which provides up to 15 read replicas with sub-10ms lag. Aurora's storage layer handles replication automatically, meaning no more managing EBS snapshots or worrying about storage capacity. During a database failure, Aurora fails over to a read replica in under 30 seconds (vs. 2-5 minutes for RDS Multi-AZ). For disaster recovery, they enable Aurora Global Database, replicating data to a secondary region with under 1-second lag. When they need to test a schema change, they use Aurora Backtrack to rewind the database 2 hours without restoring from backup, so testing completes in minutes instead of hours.

    The Result

    3x better performance, 99.99% availability, and simplified operations.

    Official AWS Documentation