AWS Database Services
1. Relational
Amazon RDS (Relational Database Service)
- Fully managed relational database service
- Supports: MySQL, PostgreSQL, MariaDB, SQL Server, Oracle
- Handles provisioning, patching, backups, and recovery automatically
- Offers Single DB Instance, Multi-AZ DB Instance, and Multi-AZ DB Cluster
- Gives a connection endpoint (read / read-write)
- Storage types:
io2,io1,gp3,gp2 - Storage autoscaling supported
- Security group controls inbound access
- Public endpoint available (not recommended for production)
Amazon Aurora
- AWS cloud-native relational database
- Compatible with MySQL and PostgreSQL
- Up to 5× faster than standard MySQL, 3× faster than standard PostgreSQL
- Automatically replicates data across 3 AZs (6 copies)
- Auto-scaling storage up to 128 TB
- Variants:
- Aurora Serverless v2 — scales instantly based on load
- Aurora Global Database — cross-region replication with < 1s lag
- Aurora DSQL — distributed SQL (see below)
2. In-Memory
Amazon ElastiCache
- Managed in-memory caching service
- Engines:
- Redis — supports persistence, pub/sub, sorted sets, Lua scripting
- Memcached — simple, multi-threaded, pure caching
- Sub-millisecond latency
- Use cases: session caching, leaderboards, real-time analytics
- Reduces database load by caching frequent queries
Amazon MemoryDB
- Redis-compatible primary database (not just a cache)
- Fully durable — data persisted to a Multi-AZ transaction log
- Sub-millisecond read and single-digit ms write latency
- Suitable when you need Redis data structures with full durability
- Use cases: financial applications, gaming leaderboards, user session stores
3. NoSQL
Amazon DynamoDB
- Fully managed, serverless key-value and document database
- Single-digit millisecond performance at any scale
- No servers to manage — pay per request or provisioned capacity
- Features:
- DynamoDB Streams — capture item-level changes
- Global Tables — active-active multi-region replication
- TTL — automatically expire items
- DAX — in-memory cache for DynamoDB (microsecond latency)
- Use cases: e-commerce carts, gaming, IoT, user profiles
Amazon DocumentDB
- Fully managed MongoDB-compatible document database
- Stores, queries, and indexes JSON documents natively
- Scales storage automatically up to 64 TB
- Replicates 6 copies of data across 3 AZs
- Use cases: content management, catalogs, user profiles, mobile apps
4. Wide-Column
Amazon Keyspaces
- Fully managed Apache Cassandra-compatible database
- Serverless — no cluster management needed
- Scales automatically for high-throughput workloads
- Supports Cassandra Query Language (CQL)
- Use cases: IoT device data, time-series logs, large-scale industrial apps
5. Graph
Amazon Neptune
- Fully managed graph database
- Supports two graph models:
- Property Graph — queried with Gremlin or openCypher
- RDF Graph — queried with SPARQL
- Stores billions of relationships, sub-second query latency
- Replicates across 3 AZs, up to 15 read replicas
- Use cases: social networks, fraud detection, recommendation engines, knowledge graphs
6. Time-Series
Amazon Timestream
- Fully managed time-series database
- Purpose-built for IoT and operational data
- Automatically scales ingestion, storage, and queries
- Built-in time-series analytics functions (smoothing, interpolation, approximation)
- Stores recent data in memory, historical data in magnetic store automatically
- Use cases: IoT sensor data, application metrics, DevOps monitoring, clickstream data
7. Distributed SQL
Aurora DSQL
- AWS’s newest distributed SQL database (serverless)
- Active-active multi-region writes with strong consistency
- PostgreSQL-compatible
- Zero infrastructure management — fully serverless
- Designed for globally distributed applications needing relational semantics
- Use cases: global SaaS apps, financial systems, multi-region transactional workloads
8. Managed Oracle
Oracle Database@AWS
- Run Oracle Database on dedicated AWS infrastructure
- Full Oracle compatibility — existing licenses, tools, and workloads work as-is
- Integrated with AWS services (VPC, IAM, CloudWatch)
- Managed by AWS for infrastructure; Oracle manages the database engine
- Use cases: lift-and-shift of on-premise Oracle workloads to AWS
Quick Comparison Table
| Service | Type | Engine / Protocol | Key Strength |
|---|---|---|---|
| RDS | Relational | MySQL, PG, MSSQL, Oracle | Broad engine support, managed |
| Aurora | Relational | MySQL, PostgreSQL | High performance, cloud-native |
| ElastiCache | In-Memory Cache | Redis, Memcached | Sub-ms latency, reduce DB load |
| MemoryDB | In-Memory DB | Redis | Durable Redis as primary DB |
| DynamoDB | Key-Value / Doc | Proprietary | Serverless, infinite scale |
| DocumentDB | Document | MongoDB-compatible | JSON docs, managed MongoDB |
| Keyspaces | Wide-Column | Cassandra (CQL) | High-write throughput, serverless |
| Neptune | Graph | Gremlin, SPARQL, openCypher | Relationship-heavy queries |
| Timestream | Time-Series | SQL-like | IoT & metrics, auto-tiered storage |
| Aurora DSQL | Distributed SQL | PostgreSQL-compatible | Multi-region active-active SQL |
| Oracle@AWS | Relational | Oracle DB | Oracle compatibility on AWS infra |
Choose Database
- Structured data with relationships → RDS or Aurora
- Massive scale, flexible schema → DynamoDB
- JSON documents → DocumentDB
- Speed up reads (caching) → ElastiCache
- Redis as a durable primary DB → MemoryDB
- Graph relationships → Neptune
- Time-stamped metrics / IoT → Timestream
- Cassandra workloads → Keyspaces
- Global SQL with multi-region writes → Aurora DSQL
- Existing Oracle workloads → Oracle Database@AWS
