3.3 AWS Database Services
Key Takeaways
- Amazon RDS is a managed relational database service supporting MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, and Amazon Aurora.
- Amazon DynamoDB is a fully managed NoSQL key-value database with single-digit millisecond latency at any scale.
- Amazon Aurora is a cloud-native relational database compatible with MySQL and PostgreSQL, up to 5x faster than standard MySQL.
- Amazon Redshift is a cloud data warehouse designed for analytical queries (OLAP) across petabytes of structured data.
- Amazon ElastiCache provides in-memory caching (Redis or Memcached) for sub-millisecond response times.
Quick Answer: AWS offers purpose-built databases rather than one database for everything: RDS/Aurora for relational data, DynamoDB for NoSQL key-value, Redshift for analytics/warehousing, ElastiCache/MemoryDB for in-memory speed, and specialized engines (DocumentDB, Neptune, Keyspaces, Timestream) for documents, graphs, wide-column, and time-series. Pick by data model and access pattern.
Relational Databases
Amazon RDS (Relational Database Service)
Amazon RDS is a managed service that sets up, operates, patches, and scales relational databases for you, so you avoid the undifferentiated heavy lifting of running a database engine yourself.
Supported engines:
| Engine | Description |
|---|---|
| Amazon Aurora | Cloud-native, MySQL/PostgreSQL-compatible |
| MySQL | Popular open-source relational database |
| PostgreSQL | Advanced open-source relational database |
| MariaDB | Community fork of MySQL |
| Oracle | Enterprise relational database (BYOL or license-included) |
| SQL Server | Microsoft relational database |
What RDS manages for you: hardware provisioning, OS patching, database-engine patching, automated backups and point-in-time recovery, Multi-AZ high availability, read replicas, and CloudWatch monitoring.
What you manage: schema design, query tuning, IAM and database-user accounts, instance/storage sizing, and encryption settings. This split is a textbook Shared Responsibility Model example — AWS owns the infrastructure and engine; you own the data and configuration.
Amazon Aurora
Amazon Aurora is AWS's cloud-native relational engine, compatible with MySQL and PostgreSQL but rebuilt for the cloud.
| Feature | Detail |
|---|---|
| Performance | Up to 5x the throughput of standard MySQL, up to 3x standard PostgreSQL |
| Durability | 6 copies of your data across 3 Availability Zones |
| Auto-scaling storage | Grows automatically from 10 GB up to 256 TiB |
| High Availability | Automated failover with up to 15 low-latency read replicas |
| Aurora Serverless | Automatically scales compute capacity up and down with demand |
| Aurora Global Database | Cross-Region replication for low-latency global reads and disaster recovery |
On the Exam: Phrases like "cloud-native relational database," "MySQL/PostgreSQL compatible with better performance," or "6 copies across 3 AZs" point to Aurora.
NoSQL Databases
Amazon DynamoDB
Amazon DynamoDB is a fully managed, serverless NoSQL database delivering single-digit millisecond latency at any scale.
| Feature | Detail |
|---|---|
| Data Model | Key-value and document |
| Performance | Single-digit millisecond response, microseconds with DAX caching |
| Scaling | Automatic; handles tens of trillions of requests per day |
| Serverless | No servers to provision, patch, or maintain |
| Global Tables | Multi-Region, multi-active replication |
| Pricing | On-demand (pay per request) or provisioned capacity |
When to use DynamoDB: high-traffic web/mobile/gaming backends, IoT data, session stores, and shopping carts — anywhere you need predictable low latency at massive scale without managing servers.
On the Exam: DynamoDB = NoSQL, serverless, single-digit millisecond latency, key-value/document. A scenario describing a non-relational, internet-scale, low-latency store is almost always DynamoDB.
Analytical Databases
Amazon Redshift
Amazon Redshift is a cloud data warehouse for online analytical processing (OLAP) across very large datasets.
| Feature | Detail |
|---|---|
| Type | Columnar, massively parallel data warehouse |
| Scaling | Petabyte-scale |
| Redshift Serverless | Run analytics without managing clusters |
| Redshift Spectrum | Query data directly in S3 without loading it first |
When to use Redshift: business intelligence, reporting, and complex aggregations over historical data. Contrast with RDS/Aurora, which are tuned for transactional (OLTP) workloads.
Caching and In-Memory
Amazon ElastiCache
Amazon ElastiCache provides managed in-memory caching to cut latency and database load.
| Engine | Use Case |
|---|---|
| Redis | Advanced data structures, replication, pub/sub, persistence |
| Memcached | Simple, multi-threaded caching with no persistence |
Use ElastiCache for repetitive query results, shared session state, leaderboards, and any need for sub-millisecond reads. Amazon MemoryDB for Redis is a related, durable Redis-compatible database when you need in-memory speed plus durability.
Other Database Services
| Service | Type | Use Case |
|---|---|---|
| Amazon DocumentDB | Document (MongoDB-compatible) | Content management, catalogs, user profiles |
| Amazon Neptune | Graph | Social networks, fraud detection, recommendations |
| Amazon Keyspaces | Wide-column (Cassandra-compatible) | Fleet, maintenance, route data |
| Amazon Timestream | Time-series | IoT, DevOps monitoring, application metrics |
| Amazon QLDB | Ledger (immutable) | Financial records, supply chain, regulatory logs |
| Amazon MemoryDB for Redis | Durable in-memory | Redis workloads needing durability |
Database Selection Guide
| Requirement | Best Service |
|---|---|
| Relational data, complex joins/transactions | Amazon RDS or Aurora |
| High-speed key-value lookups at scale | Amazon DynamoDB |
| Data warehousing and analytics (OLAP) | Amazon Redshift |
| In-memory caching, sub-ms reads | Amazon ElastiCache |
| Document storage (MongoDB workloads) | Amazon DocumentDB |
| Highly connected/graph relationships | Amazon Neptune |
| Immutable, cryptographically verifiable log | Amazon QLDB |
| Time-series data (sensors, metrics) | Amazon Timestream |
On the Exam: Read the data model in the scenario. "Relational/SQL" -> RDS/Aurora. "Key-value/NoSQL" -> DynamoDB. "Analytics/warehouse" -> Redshift. "Cache/fastest reads" -> ElastiCache. "Graph" -> Neptune. "Immutable ledger" -> QLDB.
Managed Service Value and Migration
A recurring exam theme is why teams choose a managed database over running their own on EC2. With RDS, Aurora, or DynamoDB, AWS removes operational toil: it patches the OS and engine, takes automated backups, supports point-in-time recovery, and offers one-click high availability. The trade-off is less low-level control, but for most workloads that control is undifferentiated heavy lifting better left to AWS.
To move an existing database into these services, AWS provides the Database Migration Service (DMS) for near-zero-downtime data migration and the Schema Conversion Tool (SCT) when the source and target engines differ (for example, Oracle to Aurora PostgreSQL). Together they let organizations leave self-managed databases behind while keeping applications online. Expect a scenario that pairs "migrate with minimal downtime" (DMS) with "convert the schema between engines" (SCT).
Which AWS database service is a fully managed NoSQL database that provides single-digit millisecond latency at any scale?
A company needs a cloud-native relational database that is compatible with MySQL and provides up to 5x better performance. Which service should they use?
Which AWS service is designed for running complex analytical queries across petabytes of structured data?
A company needs a graph database to manage highly connected datasets for a social networking application. Which service should they choose?