🗄️ S3 và DynamoDB: mô hình dữ liệu và pattern truy cập

Mục tiêu bài học

Sau bài này, bạn cần làm được:

  • Chọn đúng storage class và cấu hình versioning, lifecycle cho một tình huống S3 cụ thể.
  • Phân biệt và tính đúng partition key, sort key, biết khi nào dùng GSI hay LSI.
  • Tính được RCU/WCU từ số item và kích thước item trong đề bài.
  • Nhận diện các câu hỏi về consistency, presigned URL, hot partition và Scan vs Query.
  • Nhận ra các từ khoá trong đề thi dẫn thẳng tới đáp án đúng.

Ôn nhanh

Bài trước bạn đã chốt: Lambda khi xử lý sự kiện ngắn và không muốn quản lý hạ tầng; ECS khi đã có container; Elastic Beanstalk khi có ứng dụng truyền thống. Điểm nối với bài này là nơi dữ liệu nằm: Lambda chạy xong là mất, nên state phải đặt ở S3 (file/object) hoặc DynamoDB (bản ghi có khoá). Đề thi rất hay hỏi cặp "compute này ghi vào đâu".

Lý thuyết

S3: mô hình object

S3 là object storage, không phải filesystem. Mỗi object gồm key (chuỗi đầy đủ), value và metadata. Không có khái niệm thư mục thật, chỉ là prefix trong key.

Các con số phải nhớ:

  • Object tối đa 5 TB, multipart upload bắt buộc khi > 5 GB, khuyến nghị dùng từ 100 MB.
  • Durability 11 số 9 (99.999999999%), availability của Standard là 99.99%.
  • Bucket name là globally unique, gắn với một Region.
  • ==Từ tháng 12/2020, S3 cho strong read-after-write consistency cho mọi thao tác, kể cả overwrite PUT và DELETE==.

S3: storage class

Sign in to view the full content of this lesson. Sign in