Databases Flashcards
What are the 6 databases available in RDS?
- PostreSQL
- MS SQL Server
- Oracle
- MariaDB
- MySQL
- AWS Aurora (MySQL / PostgreSQL Emulation)
What happens in an AWS outage assuming you have a standby database? Is manual intervention required?
- AWS changes the CNAME from primary to backup DB
- Intervention is not needed
What is the use case for setting up multi-AZ database? What can you not to against the backup database in another region?
- Failover and/or Disaster recovery (Not to scale the performance)
- You cant run queries against the backup database
What are the variations on RDS read replicas?
- Standard
- Multi-AZ
Are read replicas Asynchronous or Synchronous
- Asynchronous
Can a read replica be promoted to be a primary database? What implications are there?
Yes, but it breaks the replication.
What is the main use case for read replicas?
- Scaling (for read heavy loads) not Disaster Recovery
What must be enabled to create read replicas?
Automatic backup
How many read replicas can you have on an RDS DB
5
Which database management systems can Aurora emulate?
- PostreSQL
- MySQL
How big is an Aurora DB? By how much does it scale? What is the max size?
- 10GB to start
- Increases automatically in 10GB increments
- Up to 128TB
How many vCPUs can Aurora use? How much RAM can it use?
- up to 96vcpus
- up to 768 GB of RAM
How many copies of your data are kept when using AWS Aurora
- 2 Per AZ
- Minimum of 3 AZ
- Minimum 6 copies
How many copies of data in an aurora database can be lost not affecting performance?
2
What types of replicas are available with Aurora? How many Read replicas are available for each?
- Aurora - 15 RRs
- Aurora MySQL - 5 RR
- Aurora PostgreSQL - 5 RR
How do aurora backups work?
- Aurora is automatically backed up with no impact to performance.
- Database snapshots can be taken, with no performance impact, these snapshots can be shared with other accounts.
Whats the use case for AWS Aurora Serverless?
- Great for spikey or unpredicatable workloads
- Only scales on when needed.
- Scales up and down as needed
How is Dynamo DB Stored?
- SSD Storage
- Spread across 3 datacenters (AZs)
- Encrypted at rest
What is DAX
- Dynamo DB Accelerator, managed, highly available in-memory cache
- Decreases request time to microseconds
- Developers don’t need to manage it - App speaks directly to DAX
- 10x performance improvement
How is Dynamo DB secured?
- Encrypted at rest
- Accessed via policies and roles
What are DynamoDB streams?
- Time ordered flow of transactions from DynamoDB
- Has its own endpoint
- up to 24 hours of retention
What are use cases for Dynamo DB transactions?
- Financial transactions
- Gaming
What about Dynamo DB backup and recovery?
- Can enable backups in the same region. they don’t impact performance.
- Point in time recovery is available but must be enabled.
What is a use case for using Dynamo DB Global Tables?
What technology in DynamoDB is required to use this?
- Replicating data from one table to another in real-time
- Globally distributed applications
- Global Tables is based on DynamoDB streams.
If you have a multi-AZ backup of your RDS DB
- Where are backups taken from?
- Are updates and maintenance updates applied to the backup DB?
- Backups are taken from the secondary DB
- Maintenance patches are applied to the backup
Are RDS Multi AZ Deployments Synchronous or Asynchronous?
Synchronous
How much will DynamoDB scale?
- up to 10 trillion requests per day
- up to 20 million requests per second
- Petabytes of storage
What is an Aurora Endpoint used for?
Aurora exists in a cluster, each of which has an endpoint. you connect to the cluster. the endpoint abstracts this.
Using endpoints, you can map each connection to the appropriate instance or group of instances based on your use case.
Which AWS DB solutions allow you to store web application state data (key, value)
- Elasticache (Redis)
- DynamoDB
What would you use for a global RDS solution with aggressive recovery?
Aurora Global Database
How would you capture data changes in Aurora when a row is deleted?
Invoke a Lambda function from aurora with a native function or stored procedure.
How would you configure a connection from EC2 to an RDS DB using an authentication token? which DBs does this apply to?
User IAM DB Authentication
IAM database authentication works with MariaDB, MySQL and PostgreSQL