Task Statement 4.3: Design cost-optimized database solutions.
📘AWS Certified Solutions Architect – (SAA-C03)
1. What is a Database Engine?
A database engine is the core software that stores, manages, and retrieves data.
In AWS, different engines are designed for different types of workloads.
2. Types of Database Engines in AWS
2.1 Relational Database Engines (SQL-based)
These use structured schemas (tables, rows, columns).
Supported Engines:
- MySQL
- PostgreSQL
- MariaDB
- Oracle
- Microsoft SQL Server
- Amazon Aurora
AWS Services:
- Amazon RDS
- Amazon Aurora
Key Features:
- Structured data
- ACID compliance (high consistency)
- SQL query support
Use Cases (IT-focused):
- Applications with structured data models
- Systems requiring transactions (e.g., inserting/updating multiple records reliably)
- Applications using predefined schemas
2.2 NoSQL Database Engines
These do not require fixed schemas.
Types:
- Key-value (Amazon DynamoDB)
- Document (JSON-based)
- Wide-column
- Graph
AWS Services:
- Amazon DynamoDB
- Amazon DocumentDB (MongoDB-compatible)
- Amazon Keyspaces (Apache Cassandra)
Key Features:
- Flexible schema
- High scalability
- Low latency
Use Cases:
- Applications with rapidly changing data structure
- High-throughput workloads
- Distributed applications
2.3 In-Memory Database Engines
Store data in memory for ultra-fast performance.
AWS Services:
- Amazon ElastiCache (Redis, Memcached)
- Amazon MemoryDB for Redis
Key Features:
- Microsecond latency
- High-speed data access
Use Cases:
- Caching frequently accessed data
- Session storage
- Real-time processing
2.4 Data Warehouse Engines
Used for analytics and reporting.
AWS Service:
- Amazon Redshift
Key Features:
- Columnar storage
- Optimized for large queries
Use Cases:
- Business intelligence queries
- Large-scale reporting systems
2.5 Graph Database Engines
Used for relationships between data.
AWS Service:
- Amazon Neptune
Key Features:
- Relationship-focused queries
- Graph traversal
Use Cases:
- Applications analyzing relationships between entities
2.6 Time-Series Database Engines
Optimized for time-based data.
AWS Service:
- Amazon Timestream
Use Cases:
- Metrics, logs, monitoring systems
3. Choosing the Right Database Engine (Exam Focus)
You must select based on:
3.1 Data Structure
- Structured → Relational (RDS, Aurora)
- Semi-structured → DocumentDB
- Key-value → DynamoDB
3.2 Performance Needs
- Low latency → DynamoDB / ElastiCache
- High throughput → DynamoDB
- Complex queries → RDS / Aurora
3.3 Scalability
- Automatic scaling → DynamoDB
- Manual scaling → RDS (mostly)
3.4 Cost Optimization
- Serverless → Aurora Serverless, DynamoDB on-demand
- Reserved instances → RDS, Redshift
- Pay-per-request → DynamoDB
4. Database Migration Types (Very Important)
Migration means moving a database from one engine to another.
4.1 Homogeneous Migration
Definition:
Source and target database engines are the same type.
Example (IT-focused):
- MySQL → Amazon RDS MySQL
- PostgreSQL → Amazon Aurora PostgreSQL
Characteristics:
- Same database engine
- Minimal changes required
- Faster and simpler migration
AWS Tools:
- AWS Database Migration Service (DMS)
Advantages:
- Low risk
- Lower cost
- Faster execution
Exam Tip:
👉 Always prefer homogeneous migration if possible (simpler and cheaper).
4.2 Heterogeneous Migration
Definition:
Source and target database engines are different types.
Example (IT-focused):
- Oracle → Amazon Aurora MySQL
- SQL Server → PostgreSQL
Characteristics:
- Different database engines
- Requires schema conversion
- More complex
AWS Tools:
- AWS DMS (for data movement)
- AWS Schema Conversion Tool (SCT) (for schema conversion)
Challenges:
- Data type differences
- Query syntax differences
- Application changes required
Advantages:
- Can reduce licensing cost
- Move to open-source engines
Exam Tip:
👉 Heterogeneous migration is used when:
- Reducing cost (e.g., moving from commercial DB to open-source)
- Modernizing applications
5. AWS Migration Tools (Exam Critical)
5.1 AWS Database Migration Service (DMS)
- Moves data between databases
- Supports both homogeneous and heterogeneous migrations
- Minimal downtime
5.2 AWS Schema Conversion Tool (SCT)
- Converts database schema
- Used only for heterogeneous migration
6. Cost Optimization Considerations
When selecting database engines:
6.1 Licensing Costs
- Open-source engines (MySQL, PostgreSQL) → cheaper
- Commercial engines (Oracle, SQL Server) → expensive
6.2 Scaling Costs
- DynamoDB → pay-per-request
- RDS → fixed instance cost
6.3 Storage Costs
- Redshift → optimized for analytics storage
- DynamoDB → pay for throughput + storage
6.4 Migration Cost
- Homogeneous → low cost
- Heterogeneous → higher cost due to complexity
7. Key Exam Tips (Must Remember)
- Relational DB → structured + ACID
- DynamoDB → serverless + scalable + key-value
- ElastiCache → caching only
- Redshift → analytics (NOT transactional)
- Neptune → relationships
- Timestream → time-series data
Migration Tips:
- Same engine → Homogeneous
- Different engine → Heterogeneous
- Use DMS for data movement
- Use SCT for schema conversion
8. Quick Comparison Table
| Feature | Homogeneous | Heterogeneous |
|---|---|---|
| Engine Type | Same | Different |
| Complexity | Low | High |
| Cost | Lower | Higher |
| Tools | DMS | DMS + SCT |
| Risk | Low | Higher |
Final Summary
- Choose database engine based on data type, performance, scalability, and cost
- Understand all AWS database engines and their use cases
- Know the difference between:
- Homogeneous migration → same engine, simple
- Heterogeneous migration → different engine, complex
- Learn AWS tools:
- DMS → data migration
- SCT → schema conversion
