S3 là tệp, nhưng không phải hệ thống tệp
- Amazon S3 là một công nghệ đám mây nguyên bản được ra mắt vào năm 2006, thường được gọi là "object storage", nhưng trên thực tế là dành cho tệp.
- Việc nghĩ S3 là một "Amazon Cloud Filesystem" là một niềm tin hữu ích giúp thúc đẩy mọi người chấp nhận S3, nhưng sự thật là S3 không phải là hệ thống tệp.
Hệ thống tệp là gì, và "độ sâu" của mô-đun
- API tệp của Unix gồm năm hàm cơ bản, và chúng cung cấp mọi thứ cần thiết để đọc và ghi tệp.
- Các hàm này xử lý nhiều vấn đề như buffering, page cache, phân mảnh, quyền hạn, lập lịch IO và nhiều thứ khác, nhưng không phơi bày chúng cho người dùng.
- Mô-đun sâu có ưu điểm là cho phép người dùng sử dụng chức năng mà không cần phải nghĩ về sự phức tạp.
Đặc điểm của S3 (đây cũng là một mô-đun sâu)
- S3 không tái triển khai API hệ thống tệp Unix, và cách gọi cơ bản của nó là khác.
- API S3 đơn giản hơn API tệp Unix, nhưng có hạn chế là không thể ghi đè một phần lên object.
Phần mềm hệ thống tệp, đặc biệt là cơ sở dữ liệu, không thể chuyển sang Amazon S3
- Cơ sở dữ liệu cần một nơi để lưu dữ liệu, và nơi đó thường là nhiều tệp khác nhau trong một hệ thống tệp.
- Cơ sở dữ liệu phụ thuộc rất nhiều vào khả năng ghi đè từng phần, và điều này là không thể trong S3.
Điều S3 làm tốt và điều S3 không làm tốt
- Điểm mạnh của S3 là băng thông đọc và ghi rất cao.
- Tuy nhiên, S3 không có ghi đè từng phần, không có thao tác đổi tên hoặc di chuyển, và việc liệt kê danh sách tệp cũng chậm.
- Dù vậy, S3 đòi hỏi ít bảo trì hơn và đơn giản hóa các công việc như thiết lập sao lưu, sao chép và provisioning.
Tầm quan trọng của độ sâu mô-đun giữa các tổ chức
- Không có gì ngạc nhiên khi S3 trở thành API đám mây phổ biến đầu tiên, vì API sâu giúp quản lý sự phức tạp giữa các tổ chức.
- Việc tích hợp phần mềm doanh nghiệp phức tạp như SAP là một công việc đầy đau đớn, và đó là vì SAP không phải là một mô-đun sâu.
Thông tin khác
- Bài viết này không nhằm gợi ý rằng S3 bị đánh giá quá cao, mà để giải thích khái niệm mô-đun sâu so với mô-đun tương đối nông.
- Một số cơ sở dữ liệu đã được thiết kế để dùng API S3 làm storage, điều này là khả thi nhưng không hề trong suốt.
- Trong S3, nhiều định dạng tệp có hiệu năng kém hơn so với đĩa.
Ý kiến của GN⁺
- Điều quan trọng là phải hiểu rằng S3 không phải là vật thay thế cho hệ thống tệp, mà là một giải pháp lưu trữ được tối ưu cho các trường hợp sử dụng cụ thể. Ví dụ, nó phù hợp để lưu trữ và truyền các tệp bất biến quy mô lớn, nhưng không phù hợp với các ứng dụng cần cập nhật từng phần thường xuyên như cơ sở dữ liệu.
- Hiệu năng và khả năng mở rộng của S3 rất cao, nhưng khi cân nhắc hiệu quả chi phí và độ phức tạp trong quản lý, nó không phù hợp với mọi dự án. Ví dụ, dự án mã nguồn mở MinIO có thể là một lựa chọn thay thế tốt cho các tổ chức muốn xây dựng storage tương thích S3 trên hạ tầng riêng.
- Khi sử dụng S3, còn có các yếu tố cần cân nhắc thêm như tính nhất quán dữ liệu, chi phí mạng và kiểm soát truy cập; những yếu tố này có thể ảnh hưởng đến thiết kế toàn bộ hệ thống.
- Dù trường hợp sử dụng của S3 có thể bị giới hạn, nó vẫn là một công cụ rất mạnh trong các ứng dụng cụ thể như data lake hoặc giải pháp sao lưu. Khả năng lưu trữ dữ liệu an toàn và truy xuất nhanh khi cần mang lại giá trị quan trọng cho nhiều doanh nghiệp.
- Bài viết này có thể giúp đưa ra các quyết định kỹ thuật bằng cách cung cấp hiểu biết sâu sắc về các chi tiết kỹ thuật của S3 và các trường hợp sử dụng thực tế của nó.
1 bình luận
Ý kiến trên Hacker News