Database Selection Guide

Choose the Right Database Service

Relational Databases

Amazon RDS

Managed relational database service

Amazon Aurora

High-performance MySQL/PostgreSQL compatible

Amazon Redshift

Data warehouse for analytics

NoSQL Databases

Amazon DynamoDB

Serverless key-value and document database

Amazon DocumentDB

MongoDB-compatible document database

Amazon Keyspaces

Cassandra-compatible wide-column store

Database Selection Matrix

OLTP Workloads

Online transaction processing

  • • RDS (MySQL, PostgreSQL)
  • • Aurora (high performance)
  • • DynamoDB (NoSQL)

OLAP Workloads

Online analytical processing

  • • Redshift (data warehouse)
  • • Aurora (read replicas)
  • • Athena (serverless queries)

High Throughput

Millions of requests per second

  • • DynamoDB (serverless scale)
  • • ElastiCache (in-memory)
  • • Aurora Serverless v2

E-commerce Platform

Product Catalog

RDS MySQL/PostgreSQL for structured data

Shopping Cart

DynamoDB for session data

Analytics

Redshift for sales reporting

Mobile Application

User Profiles

DynamoDB for flexible schema

Content Metadata

DocumentDB for JSON documents

Session Cache

ElastiCache for fast access

Performance Considerations

Latency Requirements

Sub-millisecond vs seconds

Throughput Needs

Requests per second

Data Size

GB vs TB vs PB

Consistency Model

Strong vs eventual

Cost Optimization

Serverless Options

Pay per request/usage

Reserved Instances

Long-term commitment discounts

Auto Scaling

Scale based on demand

Security & Compliance

Encryption Requirements

At rest and in transit

Compliance Standards

HIPAA, PCI DSS, SOC

Access Control

IAM integration

Quick Decision Tree

Need ACID Transactions?

Yes: RDS, Aurora (relational)

No: DynamoDB, DocumentDB (NoSQL)

Need Complex Queries?

Yes: RDS, Aurora, Redshift

No: DynamoDB, ElastiCache

Need Serverless?

Yes: DynamoDB, Aurora Serverless

No: RDS, Aurora Provisioned

Database Selection Tips

  • • Start with your data model - structured (SQL) vs unstructured (NoSQL)
  • • Consider performance requirements - latency, throughput, and consistency
  • • Factor in operational overhead - managed vs self-managed
  • • Evaluate cost implications - serverless vs provisioned capacity
  • • Plan for scalability - horizontal vs vertical scaling needs
Database Exam Questions Next: Cache Selection Guide