Lancez-Vous. C'est gratuit
ou s'inscrire avec votre adresse e-mail
BLOB Storage par Mind Map: BLOB Storage

1. Chống lỗi – Node Sets (Fault Tolerance – Node Sets)

1.1. Mục tiêu: Tăng độ bền dữ liệu, chịu mất node/AZ/region.

1.2. Phân phối: Qua nhiều node, nhiều khu vực địa lý (region).

1.3. Chính sách: Replication, mức độ fault tolerance tùy loại dữ liệu.

1.4. Chiến lược phổ biến

1.4.1. Node Set Replication: Copy block/parity block sang nhiều node (cùng/khác AZ).

1.4.2. Geo-redundant Storage (GRS): Replicate tự động sang region khác.

1.4.3. Cross-zone Parity Layout: Chia parity block sang các node ở AZ khác nhau.

1.4.4. Object encode thành 12 block, lưu ở 4 AZ (mỗi AZ 3 block) → Mất 1 AZ vẫn khôi phục được.

2. Cân bằng tải (Load Balancing)

2.1. Mục tiêu: Phân tán request, tránh dồn vào một server

2.2. Kỹ thuật

2.2.1. Consistent Hashing: Phân tán object đều qua các node

2.2.2. CDN: Cache file phổ biến, tăng tốc truy cập toàn cầu.

2.2.3. Layer trung gian (Queue/Redis): Tối ưu ghi dữ liệu theo batch.

3. Các giải pháp hiện có (Existing Solutions

3.1. AWS S3: Tiêu chuẩn công nghiệp, hệ sinh thái AWS.

3.2. Azure Blob Storage: Mạnh cho Microsoft stack.

3.3. Google Cloud Storage: Tích hợp tốt BigQuery, AI.

3.4. MinIO, Ceph: Triển khai nội bộ (on-premises), chạy trên Kubernetes.

3.5. Tính năng chung quan trọng: Versioning, encryption, lifecycle management

4. Tài liệu tham khảo

4.1. AWS S3 Documentation. https://docs.aws.amazon.com/s3/

4.2. Azure Blob Storage Overview. https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction

4.3. https://cloud.google.com/storage/docs/overview

4.4. MinIO Documentation. https://min.io/docs/minio/linux/index.html

5. Ví dụ thực tế & Trải nghiệm cá nhân

5.1. Dự án E-learning Platform

5.1.1. S3 (video, audio, PDF) + Elastic Transcoder → Tối ưu đa định dạng, scale tốt.

5.2. Web Traffic Analytics Caching Solution

5.2.1. Cache dữ liệu từ API (Google/Adobe Analytics) vào S3 → ETL nội bộ → Nhanh hơn, tiết kiệm chi phí.

5.3. Dự án nội bộ dùng MinIO

5.3.1. MinIO trên Kubernetes cho CI/CD → Tương thích S3 API, dễ tích hợp, giảm chi phí dev/test.

6. Giới thiệu (Introduction)

6.1. Định nghĩa: viết tắt của Binary Large Object Storage – là một giải pháp lưu trữ dữ liệu phi cấu trúc, rất lớn, rất linh hoạt, và có khả năng mở rộng cực cao.

6.2. Vấn đề giải quyết:

6.2.1. Lưu trữ file lớn (ảnh, video, PDF, log) - Khó khăn khi dùng DB.

6.3. Ví dụ thực tế quy mô lớn: Facebook, Dropbox, Instagram.

7. So sánh với Databases

7.1. DB: dữ liệu có cấu trúc

7.1.1. Database: Tốt cho dữ liệu có cấu trúc (thông tin người dùng, đơn hàng).

7.2. Blob Storage: Tối ưu cho dữ liệu lớn, nhị phân, phi cấu trúc.

7.3. Hạn chế của Database với file lớn

7.3.1. Hiệu suất đọc/ghi chậm, ảnh hưởng toàn hệ thống.

7.3.2. Chi phí lưu trữ cao hơn.

8. File vs Object Storage

8.1. File System

8.1.1. Hoạt động tốt ở quy mô nhỏ.

8.1.2. Vấn đề ở quy mô lớn (triệu/tỷ file): Phân quyền, index, hiệu năng mở rộng.

8.2. Object Storage

8.2.1. Mỗi file là một object: ID riêng, metadata.

8.2.2. Namespace phẳng (Flat Namespace): Truy cập qua key, không có cây thư mục phức tạp.

9. Khả năng mở rộng (Scalability)

9.1. Đặc điểm chính: Horizontal scaling (thêm node không đổi kiến trúc)

9.2. Kiến trúc phân tách

9.2.1. Metadata Server: Quản lý key, định tuyến.

9.2.2. Storage Node: Lưu nội dung file (thường immutable).

9.3. Khả năng: Scale đến hàng Petabyte.

9.4. Chi tiết kiến trúc

9.4.1. Mô hình phân tán: Metadata Layer & Storage Layer.

9.4.2. Kỹ thuật phổ biến

9.4.2.1. Sharding (chia object theo hash/vùng).

9.4.2.2. Consistent Hashing (giảm di chuyển dữ liệu khi thêm/xóa node).

10. Chống lỗi (Fault Tolerance – Parity)

10.1. Mục tiêu: Lưu trữ an toàn, khôi phục dữ liệu khi mất node.

10.2. Kỹ thuật: Parity block / Erasure Coding (RAID nâng cao).

10.3. Ưu điểm so với replication: Tiết kiệm chi phí lưu trữ (không cần copy x3).

10.4. Chi tiết Parity Block

10.4.1. Định nghĩa: Dữ liệu bổ sung tính toán từ gốc để khôi phục.

10.4.2. Cấp độ

10.4.2.1. Simple Parity (XOR - RAID 5)

10.4.2.2. Advanced Parity / Erasure Coding (S3, Azure Blob, Ceph).

10.5. Chi tiết Erasure Coding (Reed-Solomon)

10.5.1. Cơ chế: Dữ liệu chia thành `k` block, thêm `m` parity block. Khôi phục từ `k` bất kỳ trong `k+m` block.

10.5.2. Ví dụ: 6 data block + 3 parity block → Mất 3 block bất kỳ vẫn khôi phục được.

10.5.3. Ưu điểm: Hiệu quả dung lượng cao, chịu lỗi tốt hơn.