Object Storage là gì?

Một số kiểu lưu trữ phổ biến

Việc lưu trữ là một phần không thể thiếu của bất kỳ hệ thống nào. Hiện tại có 3 giải pháp phổ biến cho việc lưu trữ : File, Block, Object

File Storage

File storage là một giải pháp lưu trữ dữ liệu dưới dạng các files và đại diện nó tới người dùng cuối như là kiến trúc thư mục theo tầng. Lợi ích chính đó là việc cung cấp một giải pháp thân thiện người dùng và lấy lại files. Để xác định vị trí trong file storage chúng ta cần đường dẫn đầy đủ của file

File storage là kiểu lưu trữ lâu đời nhất và phổ biến nhất cho hệ thống DAS (Direct Attached Storage) và NAS (Network-Attached Storage)

Block Storage

Block storage phân dữ liệu thành các khối (block) và lưu chúng như là các mảnh riêng biệt. Mỗi khối đều có định dang duy nhất. Như vậy một phần dữ liệu có thể lưu trữ trong môi trường Linux và phần khác có thể lưu trữ trên môi trường Windows.

Block storage thường được cấu hình để nới lỏng sự phụ thuộc môi trường của người dùng và phân chúng ra làm nhiều phần có thể giúp việc lấy dữ liệu tốt hơn. Bất cứ khi nào dữ liệu được yêu cầu, phần mềm storage dữ tập hợp phần khối dữ liệu và gửi chúng cho người dùng.

Block storage thường được triển khai trong môi trường SAN (Storage Area Network).

Object Storage là gì?

Object storage là một trong những hệ thống storage mới. Nó được tạo ra ở trong ngành công nghiệp điện toán đám mây với yêu cầu lưu trữ một lượng lớn dữ liệu phi cấu trúc. Nó là cấu trúc trong đó các files được chia thành các mảnh và được trải ra trên phần cứng. Trong Object Storage, dữ liệu được chia thành các đơn vị nhỏ gọi là objects thay vì lưu trữ như là các files hoặc là block trên server.



Thông thường một object sẽ gồm 2 thành phần

Một định danh duy nhất cho phép object được tìm thấy trong một hệ thống phân tán

Metadata mô tả dữ liệu : tác giả, quyền, ngày tháng dữ liệu được tạo.

Một hệ thống Object Storage thường cung cấp HTTP APIs để tương tác với dữ liệu

Một ví dụ đơn giản triển khai hệ thống lưu trữ và chia sẻ ảnh từ người dùng


Hệ thống gồm 2 phần lớn

  • Một database dạng Key-Value NoSQL để lưu các thông tin người dùng (Metadata) liên quan và map trực tiếp đến một file ảnh
  • Một hệ thống lưu trữ phân tán kiểu Object Storage để lưu các file ảnh

Một số công cụ hỗ trợ lưu Object Storage

Open Source

MinIO

https://github.com/minio

https://stackjava.com/minio/minio-la-gi-huong-dan-cai-dat-minio-tren-windows.html

https://github.com/minio/minio-dotnet

SeaweedFS

https://github.com/chrislusf/seaweedfs

HDFS

https://hadoop.apache.org

Ceph

https://github.com/ceph/ceph

Gluster

https://github.com/gluster/glusterfs

LeoFS

https://github.com/leo-project/leofs

Cloud

Amazon S3

https://aws.amazon.com/s3

Azure Storage

Google Cloud Storage


Tiếp tục cập nhật ...