Task Statement 4.3: Design cost-optimized database solutions.
📘AWS Certified Solutions Architect – (SAA-C03)
1. What is a Database?
A database is a system used to store, manage, and retrieve data efficiently.
In AWS, databases are offered as managed services, meaning AWS handles:
- Hardware
- Patching
- Backups
- Scaling (in many cases)
2. Main Database Types
For the exam, you must clearly understand the two main types:
A. Relational Databases (SQL)
What it is:
A relational database stores data in tables (rows and columns) and uses SQL (Structured Query Language).
Key Features:
- Fixed schema (structure must be defined in advance)
- Supports ACID transactions:
- Atomicity
- Consistency
- Isolation
- Durability
- Strong data consistency
- Relationships between tables using keys
AWS Services:
- Amazon RDS
- Amazon Aurora
B. Non-Relational Databases (NoSQL)
What it is:
A non-relational database stores data in flexible formats such as:
- Key-value
- Document
- Wide-column
- Graph
Key Features:
- Flexible schema (no fixed structure)
- High scalability
- High performance for large workloads
- Eventual consistency (in many cases)
AWS Services:
- Amazon DynamoDB
- Others (less exam focus): DocumentDB, Keyspaces, Neptune
3. Relational vs Non-Relational (Exam Comparison)
| Feature | Relational (RDS/Aurora) | Non-Relational (DynamoDB) |
|---|---|---|
| Schema | Fixed | Flexible |
| Query Language | SQL | NoSQL APIs |
| Scaling | Vertical (mainly) | Horizontal (automatic) |
| Performance | Moderate | Very high |
| Transactions | Strong (ACID) | Limited (but supported in DynamoDB) |
| Use Case | Structured data | Large-scale, flexible data |
4. Amazon RDS (Relational Database Service)
What is RDS?
A managed service for relational databases.
Supported Engines:
- MySQL
- PostgreSQL
- MariaDB
- Oracle
- SQL Server
Key Features:
- Automated backups
- Multi-AZ for high availability
- Read replicas for scaling reads
- Managed patching
Cost Optimization Points (IMPORTANT FOR EXAM):
- Stop instances when not in use
- Use reserved instances
- Use smaller instance types when possible
- Use read replicas instead of scaling up
5. Amazon Aurora
What is Aurora?
Aurora is a high-performance relational database built by AWS, compatible with:
- MySQL
- PostgreSQL
Key Features:
- Up to 5x faster than MySQL, 3x faster than PostgreSQL
- Distributed storage (auto-scaling up to 128 TB)
- Replication across multiple Availability Zones
- Automatic failover
Why Aurora is Important for Exam:
- More cost-efficient at scale than standard RDS
- Storage grows automatically → no over-provisioning
- High availability by default
Cost Optimization:
- Pay only for storage used
- Serverless option (Aurora Serverless):
- Automatically scales capacity
- Good for variable workloads
6. Amazon DynamoDB (NoSQL)
What is DynamoDB?
A fully managed NoSQL key-value and document database.
Key Features:
- Single-digit millisecond latency
- Fully serverless
- Automatic scaling
- No infrastructure management
Data Model:
- Tables
- Items (rows)
- Attributes (columns)
Capacity Modes:
- Provisioned Capacity
- You define read/write capacity
- Cheaper if workload is predictable
- On-Demand Capacity
- Auto-scales instantly
- Pay per request
- Best for unpredictable workloads
Cost Optimization:
- Use on-demand for unpredictable traffic
- Use provisioned + auto scaling for steady workloads
- Use DynamoDB Accelerator (DAX) to reduce read costs
7. Key Exam Differences: Aurora vs RDS vs DynamoDB
| Feature | RDS | Aurora | DynamoDB |
|---|---|---|---|
| Type | Relational | Relational | NoSQL |
| Performance | Standard | High | Very high |
| Scaling | Limited | Better | Fully automatic |
| Serverless | No | Yes (Aurora Serverless) | Yes |
| Storage | Fixed | Auto-scaling | Fully managed |
| Use Case | Traditional apps | High-performance apps | Massive scale apps |
8. When to Choose What (Exam Logic)
Choose RDS when:
- You need traditional relational database
- You need SQL and structured schema
- Workload is moderate
Choose Aurora when:
- You need high performance
- You need better scaling than RDS
- You want cost efficiency at large scale
Choose DynamoDB when:
- You need massive scalability
- You need low latency
- Schema is flexible
- Workload is unpredictable
9. Important Exam Concepts to Remember
1. Scaling Types
- RDS → Vertical scaling (bigger instance)
- DynamoDB → Horizontal scaling (automatic)
2. Consistency
- RDS/Aurora → Strong consistency
- DynamoDB → Eventual consistency (default), optional strong consistency
3. Serverless Options
- Aurora Serverless → auto scaling relational DB
- DynamoDB → always serverless
4. Cost Optimization Key Ideas
- Avoid over-provisioning
- Use auto-scaling services
- Use serverless where possible
- Choose correct capacity mode in DynamoDB
10. Quick Summary (Exam Revision)
- Relational DB (RDS, Aurora) → structured data, SQL, strong consistency
- NoSQL DB (DynamoDB) → flexible data, high scalability, serverless
- Aurora → best performance + cost efficiency at scale
- DynamoDB → best for massive, unpredictable workloads
- Always choose based on:
- Data structure
- Scalability needs
- Cost optimization
