AWS Database Services Flashcards
When to use Database on EC2
Full control over instance and database
Preferred DB not available under RDS
When to use Amazon RDS
Need traditional relational database for OLTP
Your data is well-formed and structured
Existing applications requiring RDBMS
When to use Amazon DynamoDB
Name/value pair data
Unpredictable data structure
In-memory performance with persistence
High I/O needs
Require dynamic scaling
When to use Amazon RedShift
Data warehouse for large volumes of aggregated data
Primarily OLAP workloads
When to use Amazon Neptune
Relationships between objects are of high value
When to use Amazon ElastiCache
Fast temporary storage for small amounts of data
Highly volatile data (non-persistent)
When to use Amazon S3
Binary large objects (BLOBs)
Static websites
A managed service that makes it easy to set up, operate, and scale a relational database in the cloud
Amazon Relational Database Service (RDS)
RDS facts
Relational databases are known as Structured Query Language (SQL) databases.
Non-relational databases are known as NoSQL databases.
RDS is an Online Transaction Processing (OLTP) type of database.
Aurora is Amazon’s proprietary database.
RDS is a fully managed service and you do not have access to the underlying EC2 instance (no root access)
Amazon Relational Database Service (RDS) features and benefits
SQL type of database.
Can be used to perform complex queries and joins.
Easy to setup, highly available, fault tolerant, and scalable.
Used when data is clearly defined.
Common use cases include online stores and banking systems.
Database engines supported by Amazon RDS
SQL Server.
Oracle.
MySQL Server.
PostgreSQL.
Aurora.
MariaDB.
Amazon RDS includes:
Security and patching of the DB instances.
Automated backup for the DB instances.
Software updates for the DB engine.
Easy scaling for storage and compute.
Multi-AZ option with synchronous replication.
Automatic failover for Multi-AZ option.
Read replicas option for read heavy workloads.
A database environment in the cloud with the compute and storage resources you specify
Database Instance
Amazon RDS encryption
You can encrypt your Amazon RDS instances and snapshots at rest by enabling the encryption option for your Amazon RDS DB instance.
Encryption at rest is supported for all DB types and uses AWS KMS.
You cannot encrypt an existing DB, you need to create a snapshot, copy it, encrypt the copy, then build an encrypted DB from the snapshot.
A collection of subnets (typically private) that you create in a VPC and that you then designate for your DB instances
Database Subnet Group
Database Subnet Group facts:
Each DB subnet group should have subnets in at least two Availability Zones in each region.
It is recommended to configure a subnet group with subnets in each AZ (even for standalone instances).
AWS Charges for RDS:
DB instance hours (partial hours are charged as full hours).
Storage GB/month.
I/O requests/month – for magnetic storage.
Provisioned IOPS/month – for RDS provisioned IOPS SSD.
Egress data transfer.
Backup storage (DB backups and manual snapshots).
RDS Scalability:
You can only scale RDS up (compute and storage).
You cannot decrease the allocated storage for an RDS instance.
You can scale storage and change the storage type for all DB engines except MS SQL.