Aurora is part of Amazon Web Service’s Relational Database Service. Amazon’s RDS offerings are a managed service that has AWS staff taking care of the operating system patches/upgrades, database patches/upgrades, general management, and snapshots.
Putting it simply, Aurora is a MySQL or PostgreSQL compatible relational database built for the cloud. This means it is a cost-optimized database that is compatible with MySQL and PostgreSQL. It can scale up automatically to handle sudden or unplanned traffic spikes.
Aurora claims to provide up to 5x better performance than MySQL and 3x better performance than PostgreSQL without requiring programmatic changes to existing applications.
Why is Aurora better than spinning up MySQL or PostgreSQL?
Scaling the database size up and down can be done in a few minutes and can potentially be done automatically without needing to intervene and without needing to constantly purchase and set up new hardware. This would normally take weeks to accomplish.
I can’t speak for anyone else, but I can say that I haven’t worked many places that had a distributed, and fault-tolerant database without having at least one or two professional database admins and system admins on staff. Aurora is built in such a way that it can handle losing two copies of the database without losing its write ability. Aurora is architected to handle three copies of the database being lost without it impacting readability.
Aurora like all other RDS offerings supports encryption at rest done with the AWS Key Management Store. This means data is encrypted when stored, all automated backups are encrypted and even the snapshots are encrypted. Out of the box encryption with MySQL or PostgreSQL is really freaking hard. I don’t remember it being possible before MySQL 8 without having to purchase an expensive addon.
Other Benefits of Aurora
Automated backups are always enabled and don’t really impact performance. There’s always 2 copies of the data in each Availability Zone (AZ) and a minimum of 3 Availability Zones meaning there’s at least 6 copies of the database available.
If you want a serverless version of Aurora, there’s the Serverless edition which handles on demand scaling and allows us to only pay for usage. I wouldn’t recommend it for a frequently used database but it’s an option if scaling up and down could be of interest.
Amazon Aurora only supports the InnoDB storage engine; tables from other storage engines are automatically converted to InnoDB.