Relational Database Service (RDS) Flashcards
What are the six different RDS engines?
- Microsoft SQL Server
- Oracle
- MySQL
- PostgreSQL
- MariaDB
- Amazon Aurora
What are the advantages of RDS?
- You can provision and have a database up and running in minutes
- Multi-AZ
- Failover capacity (automatically)
- Automated backups
When would you use an RDS database?
Generally used for online transaction processing (OLTP) workloads, not analyzing large amounts of data (OLAP)
What is the difference between online transaction processing (OLTP) and online analytical processing (OLAP)?
OLTP processes data from transactions in real time (e.g. customer orders, banking transactions, payments, booking systems, etc.). All about data processing and completing a large number of small transactions in real time.
OLAP processes complex queries to analyze historical data (e.g. analyzing net profit figures from the last 3 years and sales forecasting). All about data analysis using large amounts of data, as well as complex queries that take a long time to complete.
If you are given a scenario which asks which service would be recommended for an OLTP application, what would you recommend?
RDS
If you are given a scenario which asks which service would be recommended for an OLAP application, what would you recommend?
Redshift
Explain how RDS handles multi-AZ.
RDS creates an exact copy of your database in another AZ (and continuously replicates the data as you write to the production database).
Which RDS types can be configured as Multi-AZ?
- Microsoft SQL Server
- Oracle
- MySQL
- PostgreSQL
- MariaDB
Which RDS type is always configured as Multi-AZ
Aurora
How does RDS handle unplanned failure or maintenance in an Multi-AZ configuration?
The applications are connecting to the database via a connection string (web address of the database, username and password). Amazon handles all the DNS for that web address. If there is an unplanned outage of the primary database, Amazon will detect the failure and point the web address at the standby database in another AZ (automated DNS failover handled by AWS) and that will be promoted to primary.
What is the main purpose for enabling Multi-AZ in RDS?
For disaster recovery, not performance (you cannot connect to the secondary database when the primary is active).
What is a read replica in RDS?
A read-only copy of your primary database.
Why would you use a read replica in RDS?
When you have read-heavy workloads to take the load off your primary database and boost performance. It is not used for disaster recovery.
Where can read replicas in RDS be stored?
In the same AZ, in a different AZ or even in a different region.
How do you address a read replica in RDS (as opposed to the primary database)?
A read replica has its own unique DNS endpoint, separate from the primary database.
Can you promote a read replica in RDS into its own independent database?
Yes, but this breaks the replication.
In what scenario would you promote a read replica in RDS to its own database?
When you are doing online analytics processing and you are about to do a massive query towards your database.
What feature in RDS must be enabled in order to deploy a read replica?
Automatic backups
How many read replicas in RDS are supported per database?
Up to 5
What is Amazon Aurora?
It is a MySQL and PostgreSQL compatible relational database engine that combines the speed and availability of commercial databases with the cost-effectiveness of open-source databases.
How much better performance can you expect from Amazon Aurora than MySQL or PostgreSQL?
5x better performance than MySQL and 3x better performance than PostgreSQL
What is the minimum storage size of Amazon Aurora and the maximum?
It starts with 10 GB and scales in 10 GB increments up to 128 TB (with storage auto-scaling).
How is the data replicated in Amazon Aurora?
2 copies of your data are contained in each AZ, with a minimum of 3 AZs (at least 6 copies of data)
What is it mean that Aurora storage is self-healing?
Data blocks and disks are continuously scanned for errors and repaired automatically.
How many copies of data can be lost without affecting database write availability in Amazon Aurora?
2 copies of data can be lost out of at least 6
How many copies of data can be lost without affecting database read availability in Amazon Aurora?
3 copies of data can be lost out of at least 6
What are the three types of Amazon Aurora read replicas available?
- Aurora replicas (up to 15 read replicas)
- MySQL replicas (up to 5 read replicas)
- PostgreSQL replicas (up to 5 read replicas)
What are the benefits of Aurora read replicas over MySQL and PostgreSQL read replicas?
- You can have up to 15 read replicas vs only 5
- It replicates faster
- It has a low impact on performance on the primary database
- They can act as a failover target with no data loss
Does Amazon Aurora support automated backups and snapshots?
Yes, automated backups are always enabled and do not impact performance. Snapshots are also available and do not impact performance and may be shared across accounts.
What is Amazon Aurora Serverless?
An on-demand, auto-scaling configuration for MySQL-compatible and PostgreSQL-compatible. Automatically starts up, scales down based on your application’s needs.
If you are given a scenario where you need the performance of Aurora, but you’re going to have spiky workloads, what RDS service would you recommend?
Amazon Aurora Serverless
What are the use cases for Aurora Serverless?
Relatively simple, cost-effective option for infrequent, intermittent, or unpredictable workloads.
What is DynamoDB?
- Fast, flexible NoSQL database for all applications that need consistent, single-digit millisecond latency at any scale.
- Fully managed
- Supports both document and key-value data models