Amazon Aurora
A cloud-native relational database built by AWS that delivers up to 5x the throughput of MySQL and up to 3x the throughput of PostgreSQL
Overview
Amazon Aurora is a relational database engine designed from the ground up by AWS for the cloud. It is compatible with MySQL and PostgreSQL, allowing you to use existing application code and tools with minimal changes. Storage is automatically replicated across 6 copies spanning 3 Availability Zones and auto-scales up to 128 TB. With Aurora Serverless v2, database capacity automatically scales based on workload demand, minimizing costs during idle periods. Up to 15 read replicas can be created, and failover typically completes within 30 seconds. Aurora Global Database replicates data to up to 5 regions with sub-second latency, enabling cross-region failover for disaster recovery.
Compute-Storage Separation Architecture
The secret behind Aurora's high performance lies in its unique architecture that separates compute from storage. In traditional RDS, storage is directly attached to the database instance, but in Aurora, the storage layer operates as an independent distributed system. Data is divided into 10 GB segments, and each segment is stored as 6 copies across 3 AZs. A write is considered complete when 4 out of 6 copies succeed (4/6 quorum), and a read completes when 3 copies respond (3/6 quorum). This design means data remains readable even if 2 copies are simultaneously lost, and writable even if 3 copies are lost. The automatic repair feature detects failed segments and rebuilds them automatically. Azure SQL Database Hyperscale employs a similar compute-storage separation architecture supporting up to 100 TB, but Aurora's advantage is dual-engine support (MySQL and PostgreSQL), whereas Hyperscale is limited to the SQL Server engine.
Serverless v2 and Read Replica Strategies
Aurora Serverless v2 auto-scales database capacity from 0.5 ACU (approximately 1 GB memory) to 128 ACU in fine-grained increments, making it ideal for workloads with significant traffic fluctuations such as development environments, staging, and applications with unpredictable usage patterns. Unlike provisioned instances where you pay for fixed capacity regardless of utilization, Serverless v2 scales down during idle periods, significantly reducing costs. For read-heavy workloads, up to 15 read replicas can be added to distribute read traffic and reduce the load on the primary writer instance. Read replicas share the same storage volume as the primary, so replica lag is typically under 20 milliseconds. A practical strategy is to combine a Serverless v2 writer for variable write workloads with provisioned read replicas for predictable read-heavy queries, or use Reader endpoints with Aurora's built-in load balancing to distribute connections automatically. For practical knowledge on Amazon Aurora, specialized books (Amazon) are a valuable resource.
Recovery Strategies with Backtrack and Global Database
Aurora provides multiple recovery mechanisms for different failure scenarios. Backtrack (MySQL-compatible only) lets you rewind the database to any point within the last 72 hours in seconds, enabling rapid recovery from human errors such as accidental DELETE statements or bad schema migrations - without restoring from a snapshot. This is far faster than traditional point-in-time recovery, which requires creating a new cluster from a backup. For regional disaster recovery, Aurora Global Database replicates data to up to 5 secondary regions with sub-second replication lag (typically under 1 second). In a disaster scenario, you can promote a secondary region to become the new primary, with failover typically completing within about a minute. On the cost side, Reserved Instances with a 1-year all-upfront payment can reduce costs by approximately 40% compared to on-demand pricing. Use Performance Insights to visualize query performance and continuously identify slow queries and optimize indexes for ongoing operational efficiency.