100%
← Quay lại

File Storage / Object Storage

AI bổ sung
Hạ tầngDữ liệu

Nó là gì?

Dịch vụ lưu trữ file dạng đối tượng (object) — mỗi file là một 'object' có ID duy nhất, metadata và dữ liệu nhị phân. Khác với file system truyền thống, object storage không có thư mục thực sự, dùng key (đường dẫn) để tổ chức, mở rộng gần như không giới hạn.

Dùng để làm gì?

Lưu trữ ảnh, video, PDF, log, backup, file tĩnh cho web/app. Database chỉ lưu metadata (tên, kích thước, key, content-type) và tham chiếu (URL hoặc path). Phù hợp cho file lớn, ít thay đổi, truy cập ngẫu nhiên.

Chạy ở đâu?

Cloud (AWS S3, Google Cloud Storage, Azure Blob, Cloudflare R2, Supabase Storage) hoặc self-hosted (MinIO, SeaweedFS, Ceph) trên VPS/K8s.

Nó thường đi với gì?

CDN (Cloudflare, CloudFront) để phân phối nhanh; Database (PostgreSQL, MongoDB) lưu metadata; Queue/Worker (BullMQ, Celery) xử lý upload/transform; SDK client (aws-sdk, @aws-sdk/s3-client, MinIO client).

App của mình khi nào cần?

File > 1-5 MB; lượng file lớn (hàng nghìn trở lên); cần chia sẻ public/private qua signed URL; cần versioning, lifecycle (tự xóa file cũ), replication cross-region; muốn tách storage khỏi compute để scale độc lập.

Khi nào không cần?

File rất nhỏ (< 100 KB) và ít — có thể lưu base64 trong DB hoặc blob column; cần transaction ACID gắn liền với record (dùng DB blob); latency cực thấp (< 5 ms) và chạy cùng máy — dùng local disk/NVMe.

Từ khóa lỗi thường gặp

AccessDenied / 403 (policy/IAM sai); NoSuchKey / 404 (key sai, case-sensitive); EntityTooLarge (vượtmultipart limit); SignatureDoesNotMatch (sai region/secret); Throttling / 503 (rate limit); Checksum mismatch (multipart upload hỏng).

Một câu để nhớ

Object storage = kho chứa file khổng lồ, database chỉ giữ chìa khóa.