2.5.3. Amazon Aurora
š” First Principle: Amazon Aurora is a MySQL- and PostgreSQL-compatible relational database built for the cloud, combining enterprise performance and availability with open-source simplicity and cost-effectiveness.
Amazon Aurora is a relational database service that is part of Amazon RDS. It's designed for high performance and availability specifically for relational workloads.
Key Characteristics of Amazon Aurora:
- Relational Database: Compatible with popular relational engines (MySQL and PostgreSQL).
- Cloud-Native Design: Built specifically for the cloud, separating compute and storage for better performance and scalability.
- High Performance: Offers up to 5x the throughput of standard MySQL and 3x the throughput of standard PostgreSQL.
- High Availability & Durability: Automatically replicates data across 3 Availability Zones (AZs) within a Region, storing 6 copies of your data for high durability. Automatic failover in seconds.
- Storage Auto Scaling: Storage scales automatically up to 128 TB.
- Aurora Serverless: An on-demand auto-scaling configuration for Aurora, where you only pay for what you use, ideal for intermittent or unpredictable workloads.
- Aurora Global Database: For multi-Region disaster recovery and low-latency global reads.
- Use Cases: Enterprise applications, high-performance relational workloads, SaaS applications.
Scenario: A company needs a high-performance relational database for its core application. They currently use MySQL but need significantly better throughput and fault tolerance than standard Amazon RDS for MySQL can offer, without moving to a NoSQL database.
Reflection Question: How does Amazon Aurora, by combining enterprise performance and availability features (like high throughput and automatic data replication) with open-source compatibility, fundamentally serve as a high-performing and highly available relational database built for the cloud?