Trang chủ/Chương 07

Chương 07: Database Services

Tổng Quan

AWS cung cấp nhiều dịch vụ database cho các use case khác nhau. Kỳ thi SAA tập trung vào việc bạn chọn đúng database cho từng tình huống.


1. Amazon RDS (Relational Database Service)

1.1 Tổng quan

  • Managed service: AWS quản lý OS patching, backup, monitoring.
  • Hỗ trợ: MySQL, PostgreSQL, MariaDB, Oracle, SQL Server.
  • KHÔNG thể SSH vào RDS instance.

1.2 Multi-AZ (High Availability)

  • Tạo Standby replica ở AZ khác (cùng Region).
  • Synchronous replication → Standby luôn cập nhật.
  • Failover tự động khi Primary gặp sự cố → DNS tự chuyển sang Standby.
  • KHÔNG dùng để read → chỉ phục vụ failover.

1.3 Read Replicas (Scalability)

  • Tạo bản sao đọc của database (tối đa 15 replicas).
  • Asynchronous replication → có thể có độ trễ nhẹ.
  • Có thể đặt cross-Region.
  • Use case: Ứng dụng đọc nhiều (reporting, analytics).
  • Read Replica có thể promote thành DB độc lập.
Multi-AZRead Replica
Mục đíchHA (failover)Scalability (đọc)
ReplicationSynchronousAsynchronous
Cross-RegionKhông
Dùng để readKhông

1.4 RDS Backup & Restore

  • Automated Backup: Retention 1-35 ngày. Point-in-time recovery.
  • Manual Snapshot: Giữ vĩnh viễn cho đến khi bạn xóa.
  • Restore tạo DB mới (không restore vào DB cũ).

1.5 RDS Encryption

  • Encryption at rest bằng KMS (AES-256). Phải bật khi tạo DB.
  • DB chưa mã hóa → Snapshot → Copy with encryption → Restore.

1.6 RDS Proxy

  • Connection pooling — giảm số kết nối trực tiếp đến DB.
  • Cải thiện failover time (giảm 66%).
  • Phù hợp cho Lambda (nhiều connections ngắn hạn).

2. Amazon Aurora

2.1 Đặc điểm

  • Tương thích MySQL & PostgreSQL (5x faster MySQL, 3x faster PostgreSQL).
  • Storage tự động scale từ 10GB → 128TB.
  • 6 copies data trên 3 AZs (cực kỳ durable).
  • 1 Writer endpoint + 1 Reader endpoint (load balance tự động giữa read replicas).
  • Tối đa 15 Read Replicas với failover < 30 giây.

2.2 Aurora Serverless

  • Tự động scale compute theo nhu cầu (0 → max ACU).
  • Trả tiền theo giây sử dụng.
  • Phù hợp: workload không dự đoán được, dev/test, traffic ít.

2.3 Aurora Global Database

  • 1 Primary Region (read/write) + tối đa 5 Secondary Regions (read only).
  • Replication lag < 1 giây.
  • Promote secondary Region thành Primary trong < 1 phút (DR).

2.4 Aurora Multi-Master

  • Tất cả nodes đều write được → High Availability cho write operations.

3. Amazon DynamoDB

3.1 Đặc điểm

  • NoSQL database (key-value & document).
  • Serverless — không cần quản lý server.
  • Latency single-digit milliseconds.
  • Tự động scale.

3.2 Capacity Modes

ModeĐặc điểmUse case
ProvisionedChỉ định RCU/WCU trước, auto scaling optionalTraffic dự đoán được
On-DemandTrả theo request, không cần planTraffic không dự đoán được

3.3 DynamoDB Accelerator (DAX)

  • In-memory cache cho DynamoDB.
  • Latency giảm từ milliseconds → microseconds.
  • Không cần thay đổi application code.

3.4 DynamoDB Global Tables

  • Multi-Region, multi-active replication.
  • Read/Write ở bất kỳ Region nào.
  • Yêu cầu: bật DynamoDB Streams.

3.5 DynamoDB Streams

  • Ghi lại mọi thay đổi (insert, update, delete) → trigger Lambda.
  • Use case: real-time processing, cross-region replication.

4. Amazon ElastiCache

4.1 Mục đích

  • In-memory cache (Redis hoặc Memcached) giúp giảm tải DB.
  • Latency cực thấp (sub-millisecond).

4.2 Redis vs Memcached

RedisMemcached
Multi-AZ✅ (Cluster Mode)
Backup/Restore
Data typesPhong phú (strings, lists, sets, sorted sets)Chỉ key-value đơn giản
Replication✅ Read Replicas
Use caseSession store, leaderboard, pub/subSimple caching, multi-threaded

💡 Exam Tip: Cần backup, replication, complex data → Redis. Cần đơn giản, multi-threaded → Memcached.


5. Các Database Khác (Biết Tên & Use Case)

DatabaseLoạiUse case
RedshiftData Warehouse (SQL)Analytics, OLAP, BI reporting
NeptuneGraph DatabaseSocial Network, recommendation engine
DocumentDBDocument DB (MongoDB compatible)JSON data, content management
KeyspacesCassandra compatibleIoT, time-series data
QLDBLedger DatabaseImmutable, cryptographically verifiable (tài chính)
TimestreamTime-series DBIoT metrics, monitoring data

Exam Tips 💡

  1. RDS Multi-AZ = HA (failover). Read Replica = Scalability (đọc).
  2. Aurora khi cần performance RDS cao hơn + auto-scaling storage.
  3. DynamoDB khi cần serverless NoSQL, single-digit ms latency.
  4. DAX cho DynamoDB (microsecond cache). ElastiCache cho RDS (in-memory cache).
  5. Aurora Global Database cho multi-region DR (< 1 giây lag).
  6. Redis > Memcached trong hầu hết use cases (trừ khi cần multi-threaded đơn giản).
  7. QLDB khi đề nói "immutable", "ledger", "verifiable". Neptune khi nói "graph", "social network".

Câu Hỏi Ôn Tập 📝

Câu 1: Ứng dụng cần database relational với tự động failover, performance cao, storage tự động scale. Chọn gì?

Xem đáp án

Amazon Aurora. Multi-AZ failover < 30 giây, 5x faster MySQL, storage auto-scale 10GB-128TB, 6 copies data trên 3 AZs.

Câu 2: DynamoDB table bị bottleneck khi đọc. Cách cải thiện performance tốt nhất mà không cần thay đổi code?

Xem đáp án

DynamoDB Accelerator (DAX). In-memory cache tích hợp, giảm latency xuống microseconds, không cần thay đổi application code.

Câu 3: Cần lưu session data cho web app, yêu cầu sub-millisecond latency và hỗ trợ data replication. Chọn ElastiCache Redis hay Memcached?

Xem đáp án

ElastiCache Redis. Hỗ trợ replication (Multi-AZ), backup/restore, và nhiều data types phong phú. Memcached không hỗ trợ replication.


⬅️ Chương 06: S3 & Storage | Chương 08: Route 53 ➡️