Databases & Analytics
1. Tại sao cần Database?
Lưu trữ trên disk (EFS, EBS, S3…) có giới hạn. Database giúp:
- Cấu trúc hóa dữ liệu với schema định sẵn
- Index để query nhanh
- Định nghĩa quan hệ giữa các dataset
AWS cung cấp Managed Database – AWS lo hạ tầng, backup, bảo mật, bạn chỉ lo data và ứng dụng.
2. Các loại Database chính
| Loại | Đặc điểm | Ví dụ AWS |
|---|---|---|
| Relational (SQL) | Schema cố định, dùng SQL | RDS, Aurora |
| NoSQL | Schema linh hoạt, scale ngang | DynamoDB, DocumentDB |
| In-memory Cache | Tốc độ cực cao, lưu RAM | ElastiCache |
| Data Warehouse (OLAP) | Phân tích dữ liệu lớn | Redshift |
| Graph | Dữ liệu quan hệ phức tạp | Neptune |
| Ledger | Lịch sử giao dịch bất biến | QLDB |
3. RDS (Relational Database Service)
Managed service hỗ trợ: MySQL, PostgreSQL, MariaDB, Oracle, SQL Server.
Lợi thế so với tự cài DB trên EC2:
- Auto provisioning, OS patching
- Point-in-Time Restore (backup liên tục)
- Monitoring dashboard tích hợp
- Scaling dọc & ngang
- Storage dùng EBS (gp2/io1)
- Không SSH được vào instance – AWS quản lý hoàn toàn
RDS Deployments – 3 kiểu triển khai cần nhớ
Read Replicas – tăng hiệu năng đọc
- Tối đa 5 replicas
- Data chỉ ghi vào DB chính, replicas chỉ phục vụ read
- Replication bất đồng bộ (asynchronous)
Multi-AZ – High Availability
- Có 1 standby instance ở AZ khác
- Tự động failover khi AZ chính bị lỗi
- Chỉ có 1 AZ dự phòng
Multi-Region – Disaster Recovery toàn cầu
- Read replicas trải rộng nhiều Region
- Giảm latency cho user ở xa
- Có chi phí replication giữa các Region
💡 Ghi nhớ nhanh: Read Replicas = scale đọc | Multi-AZ = HA trong 1 Region | Multi-Region = DR toàn cầu
4. Amazon Aurora
- Compatible với MySQL & PostgreSQL
- Nhanh hơn 5x so với MySQL, 3x so với PostgreSQL
- Auto-scale storage đến 64 TB
- Multi-AZ tích hợp sẵn, tối đa 15 read replicas
- Đắt hơn RDS khoảng 20% nhưng hiệu quả hơn
- Dùng cho ứng dụng enterprise cần HA & performance cao
5. ElastiCache
In-memory caching, giảm tải cho database chính.
| Redis | Memcached | |
|---|---|---|
| Replication | Có | Không |
| Persistence | Có | Không |
| Độ phức tạp | Cao hơn | Đơn giản |
AWS lo toàn bộ: OS patching, setup, monitoring, backup.
6. DynamoDB
Serverless NoSQL, key-value + document model.
- Tự động scale, replication qua 3 AZ
- Latency single-digit millisecond
- Tích hợp IAM
- Hàng triệu request/giây, hàng nghìn tỷ row, hàng trăm TB
DAX (DynamoDB Accelerator): In-memory cache cho DynamoDB, cải thiện từ ms → microseconds
Global Tables: Multi-region, multi-master replication – đọc/ghi low-latency ở bất kỳ Region nào
7. Redshift – Data Warehouse
OLAP (Online Analytical Processing) – phân tích, không phải transaction.
- Columnar storage (lưu theo cột, không theo hàng) → query analytics nhanh hơn nhiều
- Hiệu năng cao hơn data warehouse thông thường 10x, scale đến PB
- Hỗ trợ SQL, tích hợp QuickSight & Tableau
- MPP (Massively Parallel Processing)
💡 OLTP (transaction hàng ngày) → RDS/Aurora | OLAP (phân tích lớn) → Redshift
8. Amazon EMR (Elastic MapReduce)
Big data processing dùng Hadoop, Spark, Hive.
- Cluster có thể gồm hàng trăm EC2 instance
- Auto-scaling, hỗ trợ Spot Instance (tiết kiệm chi phí)
- Dùng cho: ETL, machine learning, web indexing
9. Amazon Athena
Serverless, query SQL trực tiếp trên S3 – không cần load data vào DB.
- Hỗ trợ CSV, JSON, Parquet, ORC
- Giá: $5/TB data được scan
- Dùng columnar/compressed format để giảm chi phí
- Use case điển hình: phân tích VPC Flow Logs, CloudTrail, ELB Logs
10. Amazon QuickSight
BI (Business Intelligence) tool – tạo interactive dashboard.
- Serverless, ML-powered
- Nguồn dữ liệu: S3, Redshift, RDS…
- Pricing per-session
11. DocumentDB
MongoDB-compatible managed database.
- Dùng cho JSON document storage
- Auto-scale storage đến 64 TB (giống Aurora)
- Phù hợp: content management, mobile backend
12. Amazon Neptune
Graph database fully managed.
- Lưu đến hàng tỷ relations, query latency millisecond
- Replicate qua 3 AZ, tối đa 15 read replicas
- Use case: mạng xã hội, fraud detection, recommendation engine, knowledge graph (Wikipedia)
13. Amazon QLDB (Quantum Ledger Database)
Ledger database – ghi lại lịch sử giao dịch bất biến.
- Immutable: không thể xóa/sửa entry, có thể cryptographically verify
- Serverless, replication 3 AZ
- Dùng SQL để query
- Khác Managed Blockchain: QLDB không có decentralization, phù hợp với quy định tài chính
14. Amazon Managed Blockchain
Cho phép nhiều bên thực hiện transaction không cần trusted central authority.
- Join public blockchain hoặc tạo private network
- Compatible: Hyperledger Fabric & Ethereum
15. AWS Glue
Managed ETL (Extract, Transform, Load) service – serverless.
- Chuẩn bị & transform data cho analytics
- Glue Data Catalog: metadata catalog, dùng bởi Athena, Redshift, EMR
16. DMS (Database Migration Service)
Di chuyển database lên AWS an toàn, nhanh chóng.
- Source DB vẫn hoạt động trong suốt quá trình migrate
- Homogeneous: cùng engine (Oracle → Oracle)
- Heterogeneous: khác engine (SQL Server → Aurora)
Bảng tổng kết nhanh cho thi CLF-C02
| Dịch vụ | Nhớ điều này |
|---|---|
| RDS | Managed SQL, không SSH được |
| Aurora | RDS nâng cao, 5x MySQL, 64TB, 15 replicas |
| ElastiCache | In-memory cache (Redis/Memcached) |
| DynamoDB | Serverless NoSQL, ms latency |
| DAX | Cache cho DynamoDB, microsecond |
| Redshift | OLAP data warehouse, columnar |
| EMR | Hadoop/Spark cluster managed |
| Athena | SQL query trên S3, serverless |
| QuickSight | BI dashboard, serverless |
| DocumentDB | MongoDB-compatible |
| Neptune | Graph database |
| QLDB | Ledger bất biến, tài chính |
| Managed Blockchain | Hyperledger/Ethereum |
| Glue | ETL serverless + Data Catalog |
| DMS | Migrate database, source vẫn chạy |