Identify AWS Database Services
Source: Dev.to
Exam Guide: Cloud Practitioner – Domain 3: Cloud Technology & Services
Task Statement 3.4 – Recognize AWS database options and match them to scenarios.
When to Use Databases on EC2 vs Managed Databases
Self‑Managed Databases on Amazon EC2
You install and manage the database software yourself. Responsibilities include:
- OS and database patching
- Backups and restores
- High‑availability setup
- Scaling and maintenance tasks
Use EC2‑hosted databases when:
- Full control over the OS/database configuration is required.
- You need a database engine or configuration not supported by managed services.
- Special compliance or tooling requirements mandate self‑management.
AWS Managed Databases
AWS handles many operational tasks, providing:
- Reduced administrative overhead (patching, backups, maintenance)
- Built‑in high‑availability options
- Easier scaling and monitoring
- Faster time‑to‑value
Use managed databases when:
- You want to offload routine database administration.
- You need built‑in reliability features without building everything yourself.
Relational Services (SQL)
Amazon RDS
A managed relational database service that supports multiple common engines (e.g., MySQL, PostgreSQL, MariaDB, Oracle, SQL Server).
Use Amazon RDS when:
- You need a managed relational database with standard SQL capabilities.
- You prefer simplified operations for common engines.
Amazon Aurora
A cloud‑optimized, high‑performance relational database designed for scalability and availability.
Use Amazon Aurora when:
- You require higher performance and cloud‑native features.
- You need a managed relational database built for scalability and fault tolerance.
NoSQL Service
Amazon DynamoDB
A fully managed, serverless NoSQL database offering low‑latency reads/writes at massive scale. Supports key‑value and document data models.
Use Amazon DynamoDB when:
- You need low‑latency access at scale.
- Your data model is key‑value or document‑style.
- You want a NoSQL service without any server management.
In‑Memory / Caching Service
Amazon ElastiCache
A managed in‑memory data store (Redis or Memcached) commonly used for caching, session storage, leaderboards, and speeding up read‑heavy workloads.
Use Amazon ElastiCache when:
- You need caching to reduce database load.
- Very fast access to frequently requested data is required.
- In‑memory storage is needed for performance‑sensitive workloads.
Database Migration Tools
AWS Database Migration Service (DMS)
Facilitates moving data between databases with minimal downtime, supporting continuous replication.
Use AWS DMS when:
- You need to migrate data from one database to another.
- Reducing downtime during migration is a priority.
AWS Schema Conversion Tool (SCT)
Helps convert database schemas and code when migrating between different database engines, especially from commercial/legacy systems to AWS‑supported targets.
Use AWS SCT when:
- Source and target database engines differ and require schema/code conversion.
- You need assistance converting tables, indexes, stored procedures, etc.
Summary
| Category | AWS Service(s) |
|---|---|
| Self‑managed (EC2) | Maximum control, maximum operational responsibility |
| Managed databases | Reduced ops overhead (patching, backups, HA) |
| Relational (SQL) | Amazon RDS, Amazon Aurora |
| NoSQL | Amazon DynamoDB |
| In‑memory / caching | Amazon ElastiCache |
| Migration | AWS DMS (data migration/replication), AWS SCT (schema & code conversion) |