Amazon Aurora is a relational database engine from Amazon Web Services. The engine is compatible with MySQL, which means code, applications and drivers used in databases relying on MySQL can be used in Aurora with minimal or no changes. MySQL is an open source database management system based on Structured Query Language (SQL).
Amazon Relational Database Service (RDS) manages Aurora databases by handling provisioning, patching, backup, recovery and other tasks. A developer can migrate to and from MySQL databases by using the mysqldump (export) and mysqlimport (import) utilities or by using RDS' DB Snapshot migration feature. Data migration typically takes one hour.
Aurora stores a minimum of 10 GB and scales automatically to a maximum of 64 TB. The service divides the volume of a database into 10 GB chunks, which are spread across different disks. Each chunk is replicated six ways across three AWS Availability Zones (AZs). If data in one AZ fails, Aurora attempts to recover data from another AZ. Aurora is also self-healing, meaning it performs automatic error scans of data blocks and disks.
A developers can scale up resources allocated to a database instance and improve availability through Amazon Aurora Replicas, which share the same storage as the Elastic Compute Cloud (EC2) instance. An Amazon Aurora Replica can be promoted to a primary instance without any data loss, which helps with fault tolerance if the primary instance fails. If a developer has made an Aurora Replica, the service automatically fails over within one minute; it takes about 15 minutes to fail over without a replica.
For security, Amazon Aurora encrypts data in transit through the AWS Key Management Service. Automated backups, snapshots, data at rest in the underlying storage and Replicas within the same cluster are also encrypted. Additionally, Aurora database instances are created within an Amazon VPC, allowing users to isolate a database within their network for more security.
Amazon is a pay-per-use service in which a user pays per instance; customers can opt for either On-Demand or Reserve pricing. AWS also bills customers for any storage Aurora uses in GB per month increments and according to I/O rate (per million requests).
Aurora Serverless is an autoscaling and on-demand version of Amazon Aurora, the high-performance relational database built for the cloud. Administrators don't need to manage database instances with Aurora Serverless, since their database will scale up or down based on requirements and automatically start and shut down when necessary. This database model with minimal overhead appeals to both startups and large enterprises. An IT team can deploy Aurora Serverless for a variety of use cases, particularly since it scales up and down according to application requirements. The database is a good fit for an application with an unpredictable or variable workload, websites that occasionally see a surge in traffic or unevenly distributed databases with random jumps in queries.