AWS Aurora is a high-performance highly available database engine for AWS.
Proprietary AWS tech, not open source
supports Postgres and MySQL db
is AWS cloud optimized and claims 5x performance improvement over MySQL on RDS
and 3x improvement on Postgres on RDS
Storage grows automatically in blocks of 10GB to 128TB
can have up to 15 replicas vs 5 mysql replicas
replication also much faster and failover is almost instantaneous,
failover very fast within 30 secs, and it is HA high availability native
self-healing with peer-to-peer replication
and supports cross-region replication
stores 6 copies of your data across 3 AZs
4 copies of 6 needed for writes
3 out of 6 needed for reads
provides a writer endpoint that points to the master db.
you can have asg auto-scaling on top (but max 15 replicas)
patching, updating etc is done by AWS
also provides BackTrack service – you can restore a point in time without any extra backup routine
important for the exam!
READER ENDPOINT connects automatically to ALL the read replicas, so this provides for connection level load balancing for the read replicas
storage is highly striped across 100s of volumes
security similar to RDS
encryption at rest using KMS
automated backups, snapshots and replicas are also encrypted
encryption in flight uses SSL
you can authenticate using IAM, same as with RDS
but you are responsible for protecting your instance with security groups
also important – for exam!
you cannot SSH into Aurora
Aurora Read Replica Auto Scaling
You create a writer endpoint for DB writes, while reads go to a single separate reader endpoint, which connects to multiple aurora DBs.
As auto scaling takes place and more read DBs are added, these are connected to the reader endpoint
However, you can also create a separate custom endpoint for specific other traffic purposes, eg a read analytics software which needs to connect and which generates intensive traffic load
or you might want to have a set of read replicas which have different instance type to the others, again, you can use custom endpoints for this, this creates an additional endpoint.
automated db instance and auto-scaling
no need for capacity planning
infrequent, unpredictable workloads
billing is pay per second, can be more cost-effective
client talks to a proxy-fleet and in the backend Aurora creates the necessary instances.
Important for EXAM!
every node is Read-Write
useful for immediate failover for the WRITE node – offers high availability for the writer node.
you can have
Cross Region Read Replicas
useful for Disaster Recovery (DR)
easy to set up
Global Database (recommended)
you have one primary region for read-write
and up to 5 secondary read only regions with v low replication lag
plus up to 16 read replicas per secondary region
provides for very low latency
when you promote another region for DR the RTO recovery time overhead is less than 1 minute.
Aurora Machine Learning
you can add ML predictions to apps via sql
– comprehend – for sentiment analysis
can be used for fraud detection, ad targeting, sentiment analysis, product recommendations