Skip to main content

Amazon RDS

Amazon Relational Database Service (RDS) makes it easy to set up, operate, and scale relational databases in the cloud. It handles routine database tasks like provisioning, patching, backup, recovery, and scaling.

Supported Engines

EngineNotes
PostgreSQLOur preferred choice for most applications
MySQLWidely supported, good community
MariaDBMySQL-compatible, open-source focused
OracleEnterprise workloads, licensing options
SQL ServerMicrosoft ecosystem integration
AuroraAWS's cloud-native MySQL/PostgreSQL compatible

Key Features

  • Automated backups: Point-in-time recovery up to 35 days
  • Multi-AZ deployments: Automatic failover for high availability
  • Read replicas: Scale read workloads and provide disaster recovery
  • Encryption: At-rest encryption via KMS
  • Performance Insights: Database performance monitoring

RDS vs Aurora

AspectRDSAurora
PerformanceStandard3-5x MySQL, 2x PostgreSQL
StorageEBS-basedDistributed, auto-scaling
ReplicationAsyncLow-latency, up to 15 replicas
Failover60-120 seconds~30 seconds
CostLower baselineHigher, but often better value

What We Like

  • Managed operations: No more late-night patching
  • Reliability: Multi-AZ provides excellent uptime
  • Familiar: Standard database engines, standard SQL
  • Security: VPC isolation, encryption, IAM authentication

What We Don't Like

  • Less control: Can't access the underlying OS
  • Cost: More expensive than self-managed for large deployments
  • Scaling limits: Vertical scaling requires downtime (Multi-AZ helps)
  • Aurora migration: Moving from RDS to Aurora can be complex

When to Use RDS

RDS is ideal when:

  • You need a traditional relational database
  • You want managed operations without infrastructure concerns
  • Your workload fits a single database instance (with read replicas if needed)

For massive scale or complex access patterns, consider DynamoDB. For analytics, consider Athena or Redshift.