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