Object Storage hoạt động như thế nào?

Object Storage hoạt động bằng cách đóng gói dữ liệu thành các đơn vị độc lập gọi là object, mỗi object gồm ba phần: dữ liệu gốc, metadata mô tả và một định danh duy nhất, sau đó phân tán các object này trên nhiều node lưu trữ và cho phép truy xuất thông qua giao thức API tương thích chuẩn S3. . Đây cũng là cơ chế được hầu hết các dịch vụ S3 Storage hiện nay áp dụng để lưu trữ và truy xuất dữ liệu. Cách tổ chức này khác hoàn toàn so với lưu trữ theo thư mục truyền thống, và là lý do Object Storage có thể mở rộng gần như không giới hạn. Bài viết dưới đây sẽ đi sâu vào từng phần của cơ chế này, từ cấu trúc object bên trong cho đến quy trình từng bước khi bạn tải lên hay truy xuất một tệp.

Object Storage là gì?

Object Storage, hay lưu trữ hướng đối tượng, là một phương pháp quản lý dữ liệu trong đó mỗi tệp được đóng gói thành một đơn vị độc lập gọi là object, thay vì được sắp xếp theo cấu trúc thư mục truyền thống. Nếu bạn cần tìm hiểu tổng quan về khái niệm, lợi ích và ứng dụng của công nghệ này, LANIT đã có bài viết riêng về S3 Storage là gì giải thích khá đầy đủ. Trong bài này, chúng ta sẽ tập trung vào phần ít được nói tới hơn: bên trong Object Storage, dữ liệu thực sự được tổ chức và vận hành ra sao.

Cấu trúc một Object trong Object Storage

Một object trong Object Storage luôn gồm ba thành phần gắn liền với nhau: data là nội dung gốc của tệp, metadata là thông tin mô tả đi kèm như ngày tạo, loại tệp, dung lượng hoặc các trường tùy chỉnh do người dùng định nghĩa, và unique identifier là mã định danh riêng giúp hệ thống nhận diện chính xác object đó trong hàng triệu, thậm chí hàng tỷ object khác.

Nếu hình dung cho dễ hiểu, mỗi object giống như một gói hàng gửi qua dịch vụ chuyển phát: có nội dung bên trong, có tem thông tin mô tả và một mã vận đơn riêng để tra cứu. Bạn không cần biết gói hàng đang nằm ở kho nào, chỉ cần mã vận đơn là có thể tìm đúng gói hàng, bất kể hệ thống đang lưu trữ hàng triệu gói khác.

Về kiến trúc, Object Storage được tổ chức thành ba lớp hoạt động song song. Lớp lưu trữ dữ liệu lưu nội dung thực tế của các object trong một không gian phẳng, không phân cấp thư mục. Lớp quản lý metadata lưu trữ và lập chỉ mục toàn bộ thông tin mô tả cùng mã định danh của từng object, giúp hệ thống tra cứu nhanh mà không cần quét toàn bộ dữ liệu. Lớp API là cầu nối để ứng dụng gửi yêu cầu tải lên, tải xuống hoặc quản lý object. Chính việc tách biệt ba lớp này giúp Object Storage có thể mở rộng gần như không giới hạn mà vẫn duy trì hiệu năng tra cứu ổn định, ngay cả khi dữ liệu tăng lên hàng petabyte.

cau-truc-mot-object-trong-object-storage
3 tầng cấu trúc của một Object

Quy trình hoạt động từng bước của Object Storage

Object Storage xử lý một tệp dữ liệu qua bốn bước chính: tạo object, phân tán bảo vệ dữ liệu, lưu trữ trong không gian phẳng, và truy xuất qua API.

  • Bước 1: Tạo object: Khi bạn upload một tệp, ví dụ một video hoặc file backup, hệ thống ngay lập tức tạo ra một object mới, gắn kèm metadata mô tả tệp đó và cấp cho nó một định danh duy nhất. Từ thời điểm này, tệp không còn được xem như “file nằm trong thư mục” mà trở thành một object độc lập trong kho lưu trữ.
  • Bước 2: Phân tán và bảo vệ dữ liệu: Object vừa tạo được phân phối ra nhiều node lưu trữ khác nhau để đảm bảo an toàn khi có sự cố phần cứng, theo một trong hai cơ chế. Replication là nhân bản toàn bộ object thành nhiều bản sao lưu ở các vị trí khác nhau, đơn giản nhưng tốn dung lượng hơn. Erasure coding là kỹ thuật chia nhỏ dữ liệu thành nhiều mảnh kèm mã kiểm tra, cho phép khôi phục toàn bộ object dù mất một số mảnh, với mức tiêu tốn dung lượng thấp hơn đáng kể so với nhân bản toàn phần. Đây là lý do nhiều hệ thống Object Storage hiện đại ưu tiên erasure coding hơn replication thuần khi cần xử lý khối lượng dữ liệu lớn, vì vẫn đảm bảo độ bền cao trong khi tiết kiệm không gian lưu trữ hơn.
  • Bước 3: Lưu trữ trong không gian phẳng: Object được lưu trong flat namespace, nghĩa là không có khái niệm thư mục cha, thư mục con. Tất cả object tồn tại ngang hàng trong cùng một vùng lưu trữ, và việc tìm kiếm hoàn toàn dựa vào metadata cùng định danh duy nhất thay vì đường dẫn thư mục.
  • Bước 4: Truy xuất qua API: Khi cần lấy lại dữ liệu, ứng dụng gửi yêu cầu thông qua giao thức tương thích chuẩn S3, phổ biến nhất hiện nay trong các hệ thống Object Storage thương mại.
quy-trinh-hoat-dong-tung-buoc-cua-object-storage
4 bước hoạt động của Object Storage

Object Storage quản lý vòng đời dữ liệu như thế nào?

Object Storage tự động quản lý vòng đời dữ liệu thông qua các chính sách gọi là lifecycle policy, cho phép hệ thống chuyển object giữa các tầng lưu trữ khác nhau (thường gọi là Hot, Warm và Cold) dựa trên độ tuổi hoặc tần suất truy cập thực tế của dữ liệu. Nhờ đó, dữ liệu ít được truy cập sẽ tự động chuyển sang tầng lưu trữ rẻ hơn, giúp doanh nghiệp tối ưu chi phí mà không cần theo dõi và di chuyển thủ công.

Cơ chế này đặc biệt hữu ích với dữ liệu có mô hình truy cập không đồng đều theo thời gian. Ví dụ, một hệ thống camera giám sát có thể cần dữ liệu được truy cập thường xuyên trong 30 ngày đầu nhưng sau đó chỉ cần lưu trữ dự phòng trong nhiều tháng, và việc tự động chuyển dữ liệu cũ sang tầng lưu trữ rẻ hơn giúp tối ưu chi phí mà không cần can thiệp thủ công.

So sánh cơ chế: Object Storage, Block Storage và File Storage

Object Storage, Block Storage và File Storage khác nhau chủ yếu ở cách tổ chức và truy xuất dữ liệu, dẫn đến sự khác biệt lớn về khả năng mở rộng và trường hợp sử dụng phù hợp.

Tiêu chíObject StorageBlock StorageFile Storage
Cách tổ chức dữ liệuĐơn vị object độc lập, không gian phẳngChia thành các khối (block) có địa chỉ riêngCấu trúc thư mục phân cấp
Cách truy xuấtQua metadata và định danh duy nhất, giao thức API (S3)Qua địa chỉ khối, gắn trực tiếp vào máy chủ ảoQua đường dẫn thư mục, giao thức SMB/NFS
Khả năng mở rộngGần như không giới hạn, tới hàng petabyteGiới hạn theo cấu hình phần cứng, dễ phân mảnh khi mở rộngBị giới hạn bởi cấu trúc phân cấp
Độ trễ truy xuấtCao hơn (không phù hợp OLTP)Thấp, hiệu năng caoTrung bình
Phù hợp nhất vớiDữ liệu phi cấu trúc quy mô lớn: ảnh, video, backup, logCơ sở dữ liệu, hệ điều hành, ứng dụng cần độ trễ thấpChia sẻ tệp nội bộ, kho nội dung vừa và nhỏ

Nguyên nhân cốt lõi dẫn đến sự khác biệt này nằm ở cách mỗi loại hình xử lý địa chỉ dữ liệu. Block Storage gắn địa chỉ trực tiếp cho từng khối nhỏ, giúp tốc độ truy xuất cực nhanh nhưng khó mở rộng linh hoạt. File Storage phụ thuộc vào cấu trúc thư mục, nên càng nhiều tệp thì thời gian tìm kiếm theo đường dẫn càng chậm. Object Storage bỏ hẳn khái niệm đường dẫn, dựa hoàn toàn vào metadata và định danh, nên có thể mở rộng gần như không giới hạn mà tốc độ tra cứu không bị ảnh hưởng nhiều bởi số lượng object.

Ưu điểm của cơ chế Object Storage

Cơ chế tổ chức dữ liệu phẳng và tách rời metadata khỏi nội dung mang lại ba lợi ích chính cho Object Storage: khả năng mở rộng gần như không giới hạn, chi phí tối ưu theo mức sử dụng thực tế, và độ bền dữ liệu cao.

  • Về khả năng mở rộng, doanh nghiệp có thể tăng dung lượng lưu trữ từ vài GB lên hàng petabyte mà không cần thay đổi kiến trúc hệ thống.
  • Về chi phí, Object Storage tính phí theo dung lượng thực tế sử dụng, giúp doanh nghiệp không phải đầu tư trước cho phần dung lượng chưa dùng đến.
  • Về độ bền dữ liệu, nhờ cơ chế replication hoặc erasure coding được áp dụng ngay từ khi object được tạo ra, dữ liệu vẫn được bảo toàn ngay cả khi một hoặc nhiều thiết bị lưu trữ gặp sự cố. Một số nền tảng lớn trên thế giới công bố mức độ bền dữ liệu lên tới 99,999999999%, tức 11 số 9, nhờ lưu trữ dự phòng trên nhiều thiết bị và khu vực khác nhau. Đây là con số tham khảo từ ngành, mức độ bền cụ thể sẽ tùy thuộc vào cấu hình hạ tầng thực tế của từng nhà cung cấp.
uu-diem-cua-co-che-object-storage
Ưu điểm của cơ chế Object Storage

Hạn chế cần lưu ý

Object Storage có hai hạn chế chính xuất phát trực tiếp từ cơ chế hoạt động của nó: độ trễ cao hơn Block Storage, và không hỗ trợ chỉnh sửa một phần object.

Vì dữ liệu được phân tán trên nhiều node và phải đi qua lớp metadata trước khi truy xuất, độ trễ của Object Storage thường cao hơn so với Block Storage, khiến nó không phải lựa chọn lý tưởng cho các ứng dụng xử lý giao dịch trực tuyến đòi hỏi phản hồi tức thời. Ngoài ra, do mỗi object là một đơn vị toàn vẹn gắn liền với metadata và định danh, hệ thống không hỗ trợ chỉnh sửa một phần nhỏ bên trong object, mà bắt buộc phải đọc và ghi lại toàn bộ object mỗi khi có thay đổi. Điều này khiến Object Storage phù hợp hơn với dữ liệu ít thay đổi sau khi tạo, như file media, bản backup hay log lưu trữ, thay vì dữ liệu cần cập nhật liên tục từng phần.

Object Storage phù hợp với những nhu cầu nào?

Xuất phát từ cơ chế hoạt động đã trình bày ở trên, Object Storage phù hợp nhất với các nhu cầu sau:

  • Sao lưu dữ liệu cho server Linux, VMware, Proxmox, các công cụ backup như Veeam, hoặc website WordPress, DirectAdmin, cPanel
  • Lưu trữ ảnh và video dung lượng lớn cho website, ứng dụng
  • Lưu trữ log hệ thống trong thời gian dài phục vụ audit hoặc tuân thủ quy định
  • Làm nền tảng dữ liệu cho AI training và data lake
  • Tích hợp với môi trường container hóa như Kubernetes, Docker
  • Làm origin storage cho hệ thống CDN và media streaming

Câu hỏi thường gặp

Object Storage có phải là S3 không?

Không hoàn toàn. S3 (Simple Storage Service) là tên dịch vụ Object Storage do Amazon Web Services phát triển, và giao thức S3 sau đó trở thành chuẩn phổ biến mà nhiều nhà cung cấp khác áp dụng dưới dạng “S3-compatible”. Object Storage là tên gọi chung cho công nghệ lưu trữ, còn S3 là một triển khai cụ thể của công nghệ đó.

Object Storage có nhanh bằng SSD gắn trực tiếp không?

Không. Do phải đi qua lớp metadata và giao thức API thay vì truy cập trực tiếp như ổ đĩa gắn máy chủ, Object Storage có độ trễ cao hơn Block Storage hay ổ SSD cục bộ. Tuy nhiên, tốc độ truyền tải dữ liệu tổng thể vẫn đủ nhanh cho hầu hết các nhu cầu lưu trữ file, media hay backup.

Dữ liệu trong Object Storage có bị mất khi một máy chủ gặp sự cố không?

Rất khó xảy ra. Cơ chế replication hoặc erasure coding đã phân tán và nhân bản dữ liệu trên nhiều node ngay từ khi object được tạo ra, nên hệ thống vẫn hoạt động bình thường ngay cả khi một phần hạ tầng gặp sự cố.

Object Storage có cần cấu hình phức tạp để bắt đầu sử dụng không?

Không. Người dùng chỉ cần tạo bucket (kho lưu trữ) và tải dữ liệu lên thông qua giao diện quản trị hoặc API tương thích S3, hệ thống tự động xử lý việc phân tán, bảo vệ và lập chỉ mục metadata phía sau mà không cần can thiệp thủ công.

Object Storage lưu trữ được tối đa bao nhiêu dữ liệu?

Về lý thuyết, Object Storage không có giới hạn cứng về dung lượng nhờ kiến trúc mở rộng theo chiều ngang (scale-out), cho phép thêm node lưu trữ khi cần. Giới hạn thực tế phụ thuộc vào hạ tầng và gói dịch vụ của từng nhà cung cấp.

Cơ chế hoạt động của Object Storage khác biệt hoàn toàn so với File Storage hay Block Storage nhờ cách tổ chức dữ liệu thành các object độc lập, kết hợp metadata và API để quản lý cũng như truy xuất. Chính kiến trúc này giúp Object Storage mở rộng gần như không giới hạn, đồng thời đảm bảo độ bền dữ liệu cao và tối ưu chi phí lưu trữ ở quy mô lớn.

Nếu bạn đang tìm kiếm một nền tảng Object Storage tương thích chuẩn S3, dễ tích hợp với ứng dụng hiện có và phù hợp cho nhu cầu backup, lưu trữ media hoặc data lake, hãy tham khảo dịch vụ S3 Storage của LANIT.

Đánh giá bài viết

Nguyễn Đức Hòa

Xin chào, mình là Nguyễn Đức Hoà, hiện đang đảm nhận vị trí Trưởng phòng kỹ thuật tại LANIT. Với 8 năm kinh nghiệm trong mảng System, Network, Security, mình luôn hướng đến việc tìm kiếm và áp dụng các giải pháp kỹ thuật tiên tiến nhất cho mọi dự án. Công việc của mình không chỉ dừng lại ở việc quản lý mà còn mang đến cho khách hàng những giải pháp lưu trữ dữ liệu tốt nhất hiện nay. Rất hy vọng những kinh nghiệm và chia sẻ của mình sẽ mang lại nhiều giá trị hữu ích cho các bạn.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!