Week 8 - Databases in Cloud Flashcards

1
Q

What is a relational database?

A

A relational database consists of multiple related tables (relations) containing records (rows) and features (columns) in a structured collection of data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Amazon Relational Database Service (Amazon RDS)?

A

Amazon RDS is a managed service that sets up, operates, and manages relational databases in the cloud.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the responsibilities for deploying and maintaining an on-premises database?

A

For an on-premises database, you are responsible for:

Application optimization
Scaling
High availability
Database backups
Database software patches
Database software installs
Operating system patches and installs
Server maintenance
Rack and stack servers
Power, HVAC, and network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the responsibilities for deploying and maintaining a database in Amazon EC2?

A

For a database in Amazon EC2, you are responsible for:

Application optimization
Scaling
High availability
Database backups
Database software patches
Database software installs
Operating system patches and installs
Server maintenance

AWS is responsible for:
Rack and Stack servers
Power, HVAC, Network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the responsibilities for deploying and maintaining a database in Amazon RDS or Amazon Aurora?

A

For a database in Amazon RDS or Amazon Aurora, you are only responsible for:
Application Optimization

AWS is responsible for:
Scaling
High Availability
Database backups
Database software patches
Database software installs
Operation system patches
Operating system install
Server maintenance
Rack and stack servers
Power, HVAC, network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the components of a typical Amazon RDS instance?

A

A typical Amazon RDS instance includes:
- DB Instance Class: Defines CPU, memory, and network performance
- DB Instance Storage: Options include magnetic, general-purpose SSD, and provisioned IOPS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the 6 DB engines that Amazon RDS provides?

A

Amazon RDS currently supports six database engines:
1. MySQL
2. Amazon Aurora
3. Microsoft SQL Server
4. PostgreSQL
5. MariaDB
6. Oracle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How do database instances and storage options differ in Amazon RDS?

A

Database instances and storage in Amazon RDS differ in:
- Performance characteristics
- Price, which allows customization of performance and cost based on database needs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How does Amazon RDS ensure high availability in a Multi-AZ deployment?

A

In a Multi-AZ deployment, Amazon RDS automatically generates a standby copy of the database instance in another Availability Zone within the same VPC. If the main instance fails, Amazon RDS automatically brings the standby instance online as the new main instance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What happens when the main database instance fails in a Multi-AZ deployment?

A

If the main database instance fails, Amazon RDS automatically promotes the standby instance to be the new primary, ensuring minimal downtime and continued availability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are Amazon RDS Read Replicas?

A

Amazon RDS Read Replicas offer asynchronous replication and can be promoted to a primary instance if needed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

When should Amazon RDS Read Replicas be used?

A

RDS Read Replicas are ideal for read-heavy database workloads, as they allow offloading read queries to the replica to improve performance on the primary instance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the use cases of Amazon RDS for web and mobile applications, ecommerce, and mobile/online games?

A

Amazon RDS is useful for:
- Web and mobile applications: High throughput, massive storage scalability, and high availability
- Ecommerce applications: Low-cost databases, strong data security, and a fully managed solution
- Mobile and online games: Rapidly growing capacity, automatic scaling, and database monitoring

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

When should you use Amazon RDS for your application?

A

Use Amazon RDS when your application requires:
- Complex transactions or complex queries
- A medium to high query or write rate (up to 30,000 IOPS: 15,000 reads + 15,000 writes)
- No more than a single worker node or shard
- High durability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

When should you not use Amazon RDS for your application?

A

Do not use Amazon RDS when your application requires:
- Massive read/write rates (e.g., 150,000 writes per second)
- Sharding due to high data size or throughput demands
- Simple GET or PUT requests and queries that a NoSQL database can handle
- Relational database management system (RDBMS) customization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the key features and benefits of Amazon RDS?

A

Amazon RDS offers:
- Managed service: Simplifies database setup and operations
- Accessibility: Available via the console, AWS CLI, or API calls
- Scalability: Scalable compute and storage
- Automated redundancy and backups
- Supported database engines: Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle,
- Microsoft SQL Server

17
Q

What are the differences between Relational vs. Non-Relational DBs?

A

Relational (SQL):
Data Storage - Rows and Columns
Schemas - Fixed
Querying - Uses SQL
Scalability - Vertical

Non-Relational:
Data Storage - Key-Value, Document, Graph
Schemas - Dynamic
Querying - Focuses on collection of documents
Scalability - Horizontal

18
Q

What is Amazon DynamoDB, and what are its core components and primary key types?

A

Amazon DynamoDB is a fast and flexible NoSQL database service designed for scalability.

Its core components include:
- Tables: A collection of data stored in the database.
- Items: A group of attributes that is uniquely identifiable among all other items in a table.
- Attributes: The fundamental data elements that make up an item, which cannot be further broken down.

DynamoDB supports two types of primary keys:
- Partition Key: A primary key composed of one attribute.
- Partition and Sort Key: A composite primary key composed of two attributes, enabling more complex data structures and efficient querying.

19
Q

What are some key features of Amazon DynamoDB?

A

Amazon DynamoDB offers several important features:

  1. Runs on SSDs: Ensures fast and reliable performance.
  2. Supports Document and Key-Value Store Models: Provides flexibility in data storage and management.
  3. Automatic Table Replication: Replicates tables across your choice of AWS Regions for high availability and durability.
  4. Ideal for Various Applications: Works well for mobile, web, gaming, adtech, and Internet of Things (IoT) applications.
  5. Accessible via Console, AWS CLI, and API: Allows easy access and management through multiple interfaces.
  6. Consistent Low Latency: Provides single-digit millisecond latency at any scale.
  7. Unlimited Table Size and Throughput: There are no limits on the size of tables or the amount of throughput.
20
Q

What is a Data Warehouse, and how does it differ from normal databases?

A

A Data Warehouse is a specialized database designed for complex analysis, storing large amounts of current and historical data from various sources. Unlike normal databases that typically support simple statistical queries (e.g., counting the number of male or female students in a class), data warehouses enable more advanced analyses, such as identifying patterns or relationships in data (e.g., examining how academic performance relates to the gender of the lecturer). Data warehouses often work with Business Intelligence (BI) tools to perform these complex analyses.

21
Q

What is Amazon Redshift, and what are its key features?

A

Amazon Redshift is one of the most popular data warehouse applications, designed for enterprise data warehousing and big data analytics. It is a fully managed, scalable service that offers several key features:

Parallel Processing Architecture: Enhances performance by distributing data processing across multiple nodes.
Automation and Scaling: Redshift automatically scales with no downtime, ensuring continuous performance.
Compatibility: Compatible with various BI tools and supports SQL-based queries.
Fast and Fully Managed: Provides a quick, fully managed data warehouse service.
Columnar Storage and Parallel Processing: Uses columnar storage and parallel processing architectures for improved query performance.
Continuous Monitoring: Automatically and continuously monitors the cluster to ensure optimal performance.
Built-in Encryption: Data encryption is built into the service for enhanced security.

22
Q

What is Amazon Aurora, and what are its key features and benefits?

A

Amazon Aurora is a MySQL- and PostgreSQL-compatible relational database service in the cloud, designed to automate time-consuming tasks such as provisioning, patching, backup, recovery, failure detection, and repair.

Benefits:
Fast and Available: Provides high performance and availability.
Simple: Easy to use with minimal management overhead.
Compatible: Fully compatible with MySQL and PostgreSQL.
Pay-as-you-go: Flexible pricing model based on usage.
Managed Service: Fully managed by AWS, removing the burden of administrative tasks.

Key Features:
High Performance and Scalability: Delivers fast, scalable database performance.
High Availability and Durability: Offers robust availability and durability with automatic failover.
Multiple Levels of Security: Includes encryption at rest and in transit, along with network isolation.
MySQL and PostgreSQL Compatibility: Compatible with both MySQL and PostgreSQL, making migration and integration easier.
Fully Managed: Takes care of database management tasks, letting you focus on application development.