Amazon Aurora is the Amazon’s proprietary Relational Database System which was mainly designed to compete with the other popular database i.e. Oracle and SQL Server. Amazon Aurora is MySQL & PostgreSQL compatible which also means the code, tools & applications you use today with MySQL & PostgreSQL can also be used with Aurora. In this post we will jump into the details about the features and benefits of using Aurora.
There are various benefits of using Aurora DB and can be listed as below:
- High Performance: Aurora can deliver up to five times the throughput of MySQL and up to three times the throughput of PostgreSQL without requiring changes to most of your existing applications.
- Scalability: Aurora is designed to handle the loss of up to two copies of data without affecting database write ability and loss of up to three copies of data without affecting the read ability. Aurora DB scale starts at 10 GB and with the increments of 10 GB scales maximum to 64TB. Compute resources can scale up to 32 vCPU & 244 GB memory.
- High Availability: Aurora keeps two copies of your data in each availability zone and a minimum of three availability zone, which means it keeps 6 copies of your data. Automated Backups also add up to high availability which are enabled by default on Amazon Aurora storing the backups on AWS S3. The automated backups do not affect the performance of the database.
- Durability: Aurora storage is self-healing i.e. Data Blocks & disks are continuously scanned and checked for errors and repaired automatically.
- Security: Amazon Aurora provides multiple levels of security for your database. These include network isolation using Amazon VPC, encryption at rest using keys you create and control through AWS Key Management Service(KMS) and encryption of data in transit using SSL.
- Compatibility to Other Databases: Aurora is fully compatible with MySQL and PostgreSQL. The code, applications, drivers, and tools you already use with your existing databases can be used with Amazon Aurora with little or no change.
Related – Default VPC vs Custom VPC in AWS
There are mainly three types of Aurora Replicas available.
- Aurora Replicas
- MySQL Read Replicas
Aurora Replicas vs MySQL Replicas
|FEATURES||AURORA REPLICA||MYSQL REPLICA
|Number of Replicas||Up to 15||Up to 5
|Replication Type||Asynchronous (msec)||Asynchronous (seconds)
|Replica Location||In region||Cross region
|Acts as Failover Target||Yes, with no data loss||Yes, with few minutes data loss
|Support for user defined replication delay||No||Yes|
|Support of use of different schema vs primary||No||Yes|
Download the table here.
Amazon Aurora Global Database is a feature that allows a single Amazon Aurora database to span multiple AWS regions. It replicates your data with no impact on database performance, enables fast local reads in each region with typical latency of less than a second, and provides disaster recovery from region-wide outages. You can create an Aurora Global Database with just a few clicks in the Amazon RDS Management Console. Alternatively, you can use the SDK or CLI.
You can migrate a MySQL database to Aurora.
- Create Aurora Read Replica under actions of your MySQL database. Then promote the Read Replica to make it an Aurora DB of its own.
- Create Aurora Read Replica, You may also take a snapshot of your Aurora DB and restore a new Aurora DB from it.
Aurora Serverless: It is an on demand auto-scaling configuration for MySQL compatible & PostgreSQL compatible versions of Aurora DB. Aurora serverless starts, stops & scales up/down automatically based on the application behaviour.
- Enterprise/E-commerce applications: Used here since Aurora offers a very flexible, scalable & low cost database solution for online sales/retailing. Compared to commercial databases, Amazon Aurora can help cut down your database costs by 90% or more while improving reliability and availability of the database.
- Web and Mobile Gaming: Today’s online gaming needs a DB platform with high throughput & availability. Amazon RDS manages the DB infrastructure so game developers don’t have to worry about provisioning, scaling, or monitoring database servers