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ểmVí dụ AWS
Relational (SQL)Schema cố định, dùng SQLRDS, Aurora
NoSQLSchema linh hoạt, scale ngangDynamoDB, DocumentDB
In-memory CacheTốc độ cực cao, lưu RAMElastiCache
Data Warehouse (OLAP)Phân tích dữ liệu lớnRedshift
GraphDữ liệu quan hệ phức tạpNeptune
LedgerLịch sử giao dịch bất biếnQLDB

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.

RedisMemcached
ReplicationKhông
PersistenceKhông
Độ phức tạpCao 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
RDSManaged SQL, không SSH được
AuroraRDS nâng cao, 5x MySQL, 64TB, 15 replicas
ElastiCacheIn-memory cache (Redis/Memcached)
DynamoDBServerless NoSQL, ms latency
DAXCache cho DynamoDB, microsecond
RedshiftOLAP data warehouse, columnar
EMRHadoop/Spark cluster managed
AthenaSQL query trên S3, serverless
QuickSightBI dashboard, serverless
DocumentDBMongoDB-compatible
NeptuneGraph database
QLDBLedger bất biến, tài chính
Managed BlockchainHyperledger/Ethereum
GlueETL serverless + Data Catalog
DMSMigrate database, source vẫn chạy