Back to: AWS-Basics-Advanced
What is AWS RDS (Relational Database Service)?
Amazon RDS (Relational Database Service) is a managed database service provided by AWS that makes it easy to set up, operate, and scale relational databases in the cloud.
It automates:
-
Database provisioning
-
Backups and snapshots
-
Software patching
-
Monitoring
-
High availability (Multi-AZ)
So, instead of manually installing and managing a database on an EC2 instance, RDS handles all infrastructure tasks for you — allowing you to focus on your data and application logic.
🧩 Why Use AWS RDS?
✅ Fully managed by AWS (no manual setup)
✅ Automated backups and recovery
✅ Multi-AZ replication for high availability
✅ Read replicas for performance scaling
✅ Built-in monitoring via CloudWatch
🗄️ Types of Databases Supported by AWS RDS
Database Engine | Description | Best Use Case |
---|---|---|
Amazon Aurora | AWS-built high-performance database compatible with MySQL & PostgreSQL | Enterprise apps needing high performance and scalability |
MySQL | Open-source relational database | Web and eCommerce applications |
PostgreSQL | Advanced open-source DB with strong features and reliability | Analytics, geospatial, and large data apps |
MariaDB | Community-driven MySQL-compatible database | Open-source and cost-effective apps |
Oracle | Commercial enterprise-grade database | Legacy or enterprise ERP/CRM systems |
SQL Server | Microsoft’s relational DBMS | .NET and Windows-based enterprise applications |
📘 RDS Architecture Overview
-
Primary Instance — main database used for reads/writes
-
Standby Instance (Multi-AZ) — replica in another AZ for failover
-
Read Replica — used to offload read queries
-
Storage (EBS) — stores database files with automatic scaling
-
Backups — automated or manual snapshots stored in S3
🔢 What is a NoSQL Database?
NoSQL (Not Only SQL) databases are designed to handle large volumes of unstructured or semi-structured data.
They don’t use fixed table schemas like relational databases.
🧠 Key Features of NoSQL Databases
Feature | Description |
---|---|
Schema-less | Flexible data structure — no need for predefined tables |
Scalable | Designed for horizontal scaling |
High Performance | Optimized for fast reads/writes |
Data Types | Key-value, document, column, graph models |
🔹 Popular AWS NoSQL Service: Amazon DynamoDB
Amazon DynamoDB is AWS’s fully managed NoSQL database service.
It stores data as key-value pairs and supports document-style JSON data.
Advantages:
-
Serverless (no need to manage infrastructure)
-
Auto-scaling for high traffic
-
Millisecond response times
-
Integrated with AWS Lambda and Streams
Use cases:
-
Gaming leaderboards
-
E-commerce carts
-
IoT data
-
Real-time analytics
⚡ What is Amazon ElastiCache (Redis Cache)?
Amazon ElastiCache is a fully managed in-memory cache service that supports:
-
Redis
-
Memcached
It helps improve application performance by caching frequently accessed data in memory instead of querying the database repeatedly.
🔹 Why Use Redis Cache?
Feature | Benefit |
---|---|
In-memory caching | Ultra-fast performance |
Session management | Store user sessions efficiently |
Leaderboard & ranking | Real-time ranking systems |
Pub/Sub messaging | Event-based systems |
Integration with RDS/DynamoDB | Reduces DB load and response time |
🧠 How Redis Fits in Architecture
-
User requests data
-
Application checks Redis cache
-
If data found → return directly (fast)
-
If not → fetch from DB → store in Redis → return to user
This is known as Cache-aside pattern.
🧾 Summary
Service | Type | Description | Best For |
---|---|---|---|
RDS | Relational | Managed SQL databases | Structured data, transactions |
DynamoDB | NoSQL | Key-value & document store | High-scale, flexible apps |
ElastiCache (Redis) | In-memory cache | Fast data retrieval | Performance optimization |
✅ Key Takeaways
-
RDS → Managed relational DB (MySQL, PostgreSQL, etc.)
-
NoSQL → Schema-less, flexible DB like DynamoDB
-
Redis Cache → Super-fast in-memory cache for speed