Database Considerations

Requirements to consider when choosing a database:

Amazon Relational Database Service (RDS)

To maintain full control over the database system → Install DB system on EC2 instance (unmanaged).

Database Instance → Isolated database environment, can contain multiple databases. Pick instance class (type of EC2 instance) and instance storage (type of storage used). Also choose DB engine (SQL only) to run.

Billing → DB instance hours, storage, I/O request, provisioned IOPS, backup storage, and data transfer IN/OUT (💵).

Features

Use cases and requirements:

Instance Types

Each family has a different purpose and best use case:

Storage Types

Storage is EBS-backed, so the EBS storage types can be used:

Cost Optimization

Amazon DynamoDB

Features:

Recommendation is to have compound keys with partition keys that have a high-cardinality attributes (such as IDs) (source). Not following this can result in “hot” partitions, leading to throttling.