IntermediateDatabases

Database Services: RDS, DynamoDB, Aurora

Choose the right AWS database service by workload pattern, scaling model, and operational responsibility.

What Is It? (ELI5)

RDS is a managed SQL database, DynamoDB is a managed NoSQL key-value/document database, and Aurora is a cloud-optimized relational engine for high performance.

Why Do We Need It?

How It Works (Technical)

ServiceModelBest ForAzure Equivalent
RDSRelational (MySQL/PostgreSQL/SQL Server)Transactional apps with SQL queriesAzure SQL / Azure Database for PostgreSQL/MySQL
DynamoDBNoSQL key-value/documentHigh-scale low-latency workloadsCosmos DB (NoSQL API)
AuroraRelational, cloud-nativeHigh throughput with managed failoverAzure SQL Hyperscale (approx)

Hands-on

# Create DynamoDB table
aws dynamodb create-table --table-name Orders \
  --attribute-definitions AttributeName=OrderId,AttributeType=S \
  --key-schema AttributeName=OrderId,KeyType=HASH \
  --billing-mode PAY_PER_REQUEST

# List RDS instances
aws rds describe-db-instances --query "DBInstances[].DBInstanceIdentifier" --output table

Debugging Scenario

Problem

Application timeouts after migration to RDS.

Interview Questions

Beginner: Difference between RDS and DynamoDB?
RDS is SQL relational; DynamoDB is NoSQL key-value/document.
Intermediate: Why choose Aurora over standard RDS engine?
Better performance/storage architecture with managed HA characteristics.
Scenario: Flash-sale traffic reaches 100k requests/sec. Which DB design fits?
Use DynamoDB for hot key-value access with proper partition design and caching.

Real-world Usage

SaaS platforms commonly use Aurora for core transactions and DynamoDB for session/cart data requiring millisecond reads.

Summary