Aurora Flashcards
Aurora is
a proprietary technology from AWS, not open sourced
Support for other DBs
PostGres and MySQL
your drivers will work as if Aurora was a PostGres or MySQL database
Performance
AWS cloud optimized
5x improvement over MySQL in RDS
3x improvement over PostGres in RDS
Storaged
grows automatically in increments of 10 GB
up to 64 TB
Replicas
can have up to 15 replicas (only 5 for MySQL)
replication process is faster
Failover
is instantaneous, it’s High Availability native
costs
20% more than RDS but more efficient
High Availability storage
stores 6 copies of your data across 3 AZ automatically
Storage is striped across 100s of volumes
self healing with peer-to-peer replication if data gets corrupted
High Availability reads and writes
one Aurora instance takes writes - the master, others are replicas. Failover in less than 30 sec on average
cross region replication
Master + 1-15 Aurora Read Replicas serve reads. Autoscaling is supported
Aurora DB cluster writing
master is the only who will write into storage
Since master can failover and change, Aurora provides you with Writer (Cluster) Endpoint - DNS name always pointing to the master (primary instance). Client always talks to the Writer Endpoint and is automatically redirected to the right instance
Aurora DB cluster reading
Reader Endpoint helps with connection load balancing and connects automatically to all the Read Replicas
Any time client connects to RE, it gets connected to one of the Read Replicas = Load Balancing
Load Balancing happens at the connection level, not the statement level
Aurora cool features
- automatic fail-over
- backup and recovery
- isolation and security
- industry compliance
- push-button scaling
- automated patching with zero downtime
- advanced monitoring
- routine maintenance
- Backtrack: restore data at any point of time without using backups
Aurora Security
very similar to RDS
- ecryption at rest using KMS
- automated backups, snapshots and replicas are encrypted
- encryption in-flight using SSL
- possibility to authenticate using IAM token
Aurora Security your responsibility
protect the instance with security groups
Aurora Security
you can’t SSH
Aurora Serverless use case
your database usage might be heavy for a short period of time, followed by long periods of light activity or no activity at all.
Some examples are retail websites with intermittent sales events, databases that produce reports when needed, development and testing environments, and new applications with uncertain requirements.
Aurora Serverless why
configuring capacity correctly in advance isn’t always possible with the provisioned model. It can also result in higher costs if you overprovision and have capacity that you don’t use.
Aurora Serverless how
you can create a database endpoint without specifying the DB instance class size.
You specify only the minimum and maximum range for the Aurora Serverless v1 DB cluster’s capacity. The Aurora Serverless v1 database endpoint makes up a router fleet that supports continuous connections and distributes the workload among resources.
Autoscaling based on actual usage
Aurora Serverless what kind of workloads
infrequent, intermittent, unpredictable
no capacity planning needed
Aurora Serverless costs
pay per second, can be more cost-effective
Global Aurora
Two ways
- Aurora Cross Region Read Replicas
- Aurora Global Database (recommended)
Aurora Cross Region Read Replicas
useful for disaster recovery, simple to put in place - you just create a Read replica in another region
Aurora Global Database
you have one primary region where reads and writes occur
and up to 5 secondary read-only regions with replication lag less than a second
and up to 16 Read Replicas per secondary region
helps decreasing latency
Aurora Global Database - if you want to promote another region for disaster recovery
you have Recovery Time Objective of less than a minute
so in less than a minute your secondary region becomes primary and is prepared to take on writes