AWS Databases Made Simple
The first time you look at the list of AWS database services, it's overwhelming — there are more than a dozen, and many have names that give no hint about what they do. But there's a logic to it. AWS's whole philosophy here is that there's no single "best" database; you pick the one that matches the shape of your data and how you plan to use it. Once you learn each service by the job it's built for, the list stops being intimidating. Here's the whole set, framed that way.
RDS — managed relational databases
RDS (Relational Database Service) runs managed SQL databases for you, handling backups, patching, and maintenance behind the scenes. It supports familiar engines like PostgreSQL, MySQL, MariaDB, Oracle, and SQL Server. You trade away OS-level access in exchange for AWS doing the operational heavy lifting.
Aurora — AWS's high-performance relational database
Aurora is Amazon's own cloud-optimized relational database, compatible with both MySQL and PostgreSQL. It costs more than standard RDS but delivers considerably higher performance and stronger resilience. There's also Aurora Serverless, which scales capacity up and down automatically — a great fit for unpredictable or intermittent workloads.
RDS deployment options
Three deployment patterns are worth knowing, because they solve different problems:
- Read Replicas copy your data to extra read-only databases so you can scale read traffic.
- Multi-AZ keeps a standby copy in another Availability Zone for automatic failover — this is about availability and disaster recovery, not scaling.
- Multi-Region places copies in other regions for disaster recovery and lower-latency reads around the world.
The shorthand: Read Replicas are for read performance, while Multi-AZ is for failover and availability.
ElastiCache — in-memory speed
ElastiCache is a managed in-memory cache using either Redis or Memcached. It takes load off your database by keeping frequently accessed data in memory, delivering sub-millisecond response times. Reach for it when the goal is simply to make your application faster.
DynamoDB — serverless NoSQL at any scale
DynamoDB is a fully managed, serverless NoSQL (key-value) database. It scales massively with single-digit millisecond performance and no servers to manage. DynamoDB Global Tables extend it into a multi-region, active-active database, letting you read and write in several regions at once.
Redshift — the data warehouse
Redshift is a data warehouse built for analytics. It's designed to run complex queries across enormous datasets. It uses SQL but is optimized for analytical workloads rather than everyday transactions, which makes it the tool for business intelligence and heavy analytical queries.
EMR — big data processing
EMR (Elastic MapReduce) helps you spin up Hadoop clusters to process and analyze vast amounts of data. It works with big-data tools like Spark and Hive and is aimed squarely at large-scale data processing.
Athena — SQL directly on S3
Athena is a serverless query service that lets you analyze data stored in S3 using standard SQL. There's no infrastructure to manage and you pay per query. The one-line summary: SQL on S3, serverless.
QuickSight — dashboards and BI
QuickSight is a serverless business intelligence service for building visualizations, charts, dashboards, and reports from your data. Think of it whenever the goal is to turn data into a dashboard someone can look at.
DocumentDB — managed MongoDB
DocumentDB is AWS's managed, MongoDB-compatible database for document-style NoSQL data. The relationship mirrors Aurora: just as Aurora is AWS's take on PostgreSQL and MySQL, DocumentDB is its take on MongoDB.
Neptune — graph data
Neptune is a managed graph database, ideal for highly connected data. It shines in use cases like social networks, recommendation engines, and fraud detection, where the relationships between data points are the whole point.
Timestream — time-series data
Timestream is a managed time-series database, built for data that arrives with timestamps — IoT sensor readings, operational metrics, and real-time analytics over time.
Managed Blockchain
Managed Blockchain lets you build and manage blockchain networks using frameworks like Hyperledger Fabric and Ethereum.
Glue — ETL and the data catalog
Glue is a serverless ETL (Extract, Transform, Load) service that prepares and transforms your data for analytics. It also includes a Data Catalog that keeps track of the metadata for your datasets, so you always know what data you have and where it lives.
DMS — database migration
DMS (Database Migration Service) migrates databases into AWS while keeping the source database available throughout the process. It can even migrate between different engines — moving from Oracle to Aurora, for example.
The "which one do I pick?" cheat sheet
- Managed relational/SQL database → RDS
- Higher-performance, AWS-native relational database → Aurora
- Cache to speed things up → ElastiCache
- Serverless NoSQL at massive scale → DynamoDB
- Data warehouse for analytics → Redshift
- Hadoop-style big data processing → EMR
- Serverless SQL queries on S3 → Athena
- Dashboards and BI visualizations → QuickSight
- MongoDB-compatible database → DocumentDB
- Graph or highly connected data → Neptune
- Time-series data → Timestream
- Blockchain networks → Managed Blockchain
- ETL and data preparation → Glue
- Migrating a database to AWS → DMS