- For a standard relational database, start with Amazon RDS (PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Db2) or Amazon Aurora (MySQL- and PostgreSQL-compatible, with serverless and distributed options).
- For key-value access at very large scale with no servers to manage, AWS points to DynamoDB; for MongoDB-style documents, DocumentDB; for Cassandra workloads, Keyspaces.
- ElastiCache is a cache in front of another database; MemoryDB is a durable in-memory primary database. Neptune is for graphs and Timestream for time series.
- Redshift is a data warehouse for analytics (OLAP), not an application database; AWS's own database decision guide treats it separately.
- Many applications combine services, for example Aurora for orders, DynamoDB for sessions and ElastiCache for caching, which is the pattern AWS itself describes.
Which AWS database should you use?
AWS describes its database portfolio as purpose-built: more than 15 options covering relational, key-value, document, in-memory, graph, time series, vector and wide-column models. Start from the shape of your data and how you query it, then pick the service built for that model. The table condenses AWS's decision guide and product pages.
| Service | Data model | Use it when | Watch out for |
|---|---|---|---|
| Amazon RDS | Relational | You want a managed PostgreSQL, MySQL, MariaDB, SQL Server, Oracle or Db2 instance | Instance-based capacity; you size and scale it |
| Amazon Aurora | Relational (MySQL, PostgreSQL compatible) | You want higher throughput, distributed storage or Aurora Serverless | Only MySQL and PostgreSQL compatibility; different pricing model |
| Aurora DSQL | Relational, distributed | Active-active multi-Region SQL with no servers to manage | PostgreSQL-compatible, not identical to PostgreSQL |
| Amazon DynamoDB | Key-value and document | Session stores, carts and other high-scale access by key | Data must be modelled around access patterns |
| Amazon DocumentDB | Document (MongoDB compatible) | JSON-like documents queried across fields | MongoDB API compatibility, not MongoDB itself |
| Amazon Keyspaces | Wide-column (Cassandra compatible) | Moving Cassandra workloads, high write throughput | Cassandra query model (CQL) |
| Amazon ElastiCache | In-memory cache (Valkey, Memcached, Redis OSS) | Caching to cut read latency in front of another database | Designed as an ephemeral cache |
| Amazon MemoryDB | Durable in-memory (Valkey, Redis OSS) | A primary database needing in-memory speed and durability | Sized by memory, so compare its cost with a disk-based database |
| Amazon Neptune | Graph | Social networks, fraud detection, recommendations, GraphRAG | Graph query skills required |
| Amazon Timestream | Time series | IoT data, application metrics, asset tracking | Two engines (LiveAnalytics and InfluxDB) with different capabilities |
| Amazon Redshift | Columnar data warehouse | Analytics and reporting over large data volumes | Not an OLTP application database |
Relational AWS databases: RDS, Aurora and Oracle options
Amazon RDS is the managed home for six familiar engines. AWS handles provisioning, patching, backups and failover; you choose an instance class and storage. The RDS User Guide recommends RDS as the default choice for most relational deployments. See What is AWS RDS, RDS pricing and the RDS free tier.
Amazon Aurora offers MySQL- and PostgreSQL-compatible editions on a fault-tolerant, distributed storage layer, with Aurora Serverless for automatic capacity scaling. AWS's decision guide suggests it when migrating or modernising a relational workload. Two newer variants extend it: Aurora DSQL, a serverless, PostgreSQL-compatible distributed SQL database with active-active multi-Region replication, and Aurora PostgreSQL Limitless Database, which shards a single logical database for write throughput beyond one Aurora instance. Compare the two families in Amazon RDS vs Amazon Aurora.
Oracle Database in AWS
There are three documented routes. RDS for Oracle is the managed option, with licence-included or bring-your-own-licence models. RDS Custom for Oracle gave OS-level access, but AWS has announced its end of support on 31 March 2027 and recommends moving those workloads to EC2. Oracle Database@AWS runs Oracle Exadata infrastructure and Oracle Autonomous Database, managed by Oracle Cloud Infrastructure, inside AWS data centres and is bought through AWS Marketplace. Self-managed Oracle on EC2 remains possible for full control.
Key-value, document and wide-column: DynamoDB, DocumentDB, Keyspaces
Amazon DynamoDB is a serverless, fully managed, distributed NoSQL database with single-digit millisecond performance; AWS highlights zero infrastructure management, pay-per-request billing and multi-Region global tables designed for 99.999% availability. In our assessment it fits best when you know your access patterns up front, because tables are designed around keys rather than ad hoc joins. See DynamoDB vs PostgreSQL and DynamoDB vs MongoDB.
Amazon DocumentDB (with MongoDB compatibility) stores JSON-like documents and is compatible with MongoDB APIs and drivers, so AWS says applications can typically migrate without code changes. Compatibility is with the API, so confirm the features you rely on before moving; our MongoDB hosting guide compares it with MongoDB Atlas and self-hosting.
Amazon Keyspaces (for Apache Cassandra) is serverless and lets you keep Cassandra Query Language code, drivers and tools by changing the endpoint. It suits teams already invested in Cassandra.
In-memory: ElastiCache vs MemoryDB
Both speak Valkey and Redis OSS, but they play different roles. AWS's decision guide describes ElastiCache as optimised for microsecond reads and sub-millisecond writes as an ephemeral cache for frequently accessed data; it also supports Memcached and has serverless and node-based options. MemoryDB is a durable in-memory database that stores data using a Multi-AZ transaction log, suitable as a primary database for microservices that need very low latency. Use ElastiCache in front of RDS or Aurora; use MemoryDB when the in-memory store is the system of record. Our Redis vs PostgreSQL comparison covers the engine side.
Graph, time series and analytics: Neptune, Timestream, Redshift
Amazon Neptune is AWS's graph database for modelling complex networks such as social graphs, fraud detection and recommendation engines. AWS lists up to 128 TiB of storage and up to 15 read replicas per cluster, plus managed GraphRAG with Amazon Bedrock Knowledge Bases.
Amazon Timestream is for data tied to timestamps, such as IoT readings and application metrics. It now has two engines: Timestream for LiveAnalytics and Timestream for InfluxDB, which runs open-source InfluxDB as a managed service. AWS's Timestream page points users looking for LiveAnalytics-style capabilities to Timestream for InfluxDB.
Amazon Redshift is a fully managed, cloud-based data warehouse for large-scale analytics, with a serverless option. AWS's database decision guide treats it separately from its OLTP databases. Use it for reporting and analysis, often fed from RDS or Aurora; see Redshift vs PostgreSQL.
Serverless AWS databases and combining services
AWS lists its serverless database offerings as Aurora DSQL, Aurora Serverless, DynamoDB, ElastiCache, Keyspaces, Timestream for LiveAnalytics and Neptune Serverless. These scale with demand and bill for use, which suits spiky or unpredictable workloads; instance-based RDS is usually more predictable for steady ones. Our serverless databases guide explains the trade-offs.
AWS also recommends mixing databases where it helps. Its decision guide gives an e-commerce example: DocumentDB for product catalogues and user profiles, DynamoDB for low-latency catalogue browsing, and Aurora for inventory and orders where transactions matter. In our view, start with one relational database and add a specialised service only when a workload clearly needs it, since each service adds operations, cost and data movement.
When no AWS database is the right fit
- You need a database that runs identically on several clouds or on premises: a self-managed engine on EC2 or a multi-cloud provider avoids AWS-specific APIs.
- You want developer features such as database branching and scale to zero for many small Postgres databases: see Neon vs AWS RDS and Supabase vs AWS RDS.
- You are standardised on Microsoft or Google: compare AWS RDS vs Azure SQL Database and AWS RDS vs Google Cloud SQL.
- Your workload is small and local, such as an embedded app database: SQLite may be enough.
Frequently asked questions
What are the main AWS database services?
Relational: Amazon RDS and Amazon Aurora (including Aurora DSQL). NoSQL: DynamoDB (key-value), DocumentDB (document), Keyspaces (wide-column), Neptune (graph) and Timestream (time series). In-memory: ElastiCache and MemoryDB. Analytics: Redshift.
What is the difference between Amazon RDS and DynamoDB?
RDS runs relational engines with SQL, joins and transactions on instances you size. DynamoDB is a serverless NoSQL key-value and document database with pay-per-request billing and automatic scaling; it is designed around known access patterns rather than ad hoc SQL.
Can I run Oracle Database on AWS?
Yes: Amazon RDS for Oracle (managed), Oracle Database@AWS (Oracle-managed Exadata and Autonomous Database inside AWS data centres), or self-managed on EC2. RDS Custom for Oracle reaches end of support on 31 March 2027.
Is Amazon Redshift a database?
It is a data warehouse: a database optimised for analytical queries over large volumes, not for the many small reads and writes of an application. AWS positions it separately from its OLTP databases.
Which AWS databases are serverless?
AWS lists Aurora DSQL, Aurora Serverless, DynamoDB, ElastiCache (serverless option), Keyspaces, Timestream for LiveAnalytics and Neptune Serverless. Redshift also has a serverless option.
Which AWS database is cheapest?
It depends on usage. Serverless services such as DynamoDB and Aurora DSQL bill for what you use and have always-free allowances, which suits small or idle workloads; for steady workloads, a right-sized RDS instance with a Reserved Instance is often more predictable. See RDS pricing for worked examples.
Sources
- AWS decision guide: Choosing an AWS database service
- AWS Databases
- Amazon RDS
- Amazon RDS User Guide: What is Amazon RDS?
- Amazon Aurora
- Amazon Aurora DSQL
- Amazon DynamoDB
- Amazon DocumentDB
- Amazon Keyspaces
- Amazon ElastiCache
- Amazon MemoryDB
- Amazon Neptune
- Amazon Timestream
- Amazon Redshift
- Amazon RDS Custom
- AWS Free Tier with Amazon Aurora and RDS
- Legacy AWS Free Tier offers
- Oracle Database@AWS User Guide
- Amazon RDS Reserved Instances (Oracle licence models)
Checked 8 October 2026.
How we research cloud database guides: our editorial method. CodeWithSQL earns nothing from the providers mentioned.