Ưu và nhược điểm của các cơ chế lưu trữ: Block vs File vs Object storage

Mặc dù đã có nhiều thay đổi ở lĩnh vực lưu trữ trong nhiều năm qua, nhưng một số nguyên tắc cơ bản vẫn tồn tại. Hãy cùng xem xét các đặc điểm chính và các ứng dụng của lưu trữ Block Storage, File Storage và Object Storage.

Sự phát triển của các nền tảng đám mây, sự xuất hiện của các hệ thống siêu hội tụ (HCI) và tốc độ cực nhanh của bộ nhớ NVMe có lẽ đã làm mờ đi một số nguyên tắc cơ bản của hệ thống lưu trữ.

Tuy nhiên, một cách căn bản tất cả các loại lưu trữ đều được xếp vào một trong các loại Block, File hoặc Object. Các thuật ngữ khác nhau bắt nguồn từ cách dữ liệu được truy cập trong mỗi cơ chế.

Giải pháp ảo hóa hạ tầng lưu trữ

Về cơ bản, các bộ nhớ vật lý chứa dữ liệu có chung một đặc điểm là phương tiện lưu trữ có thể đăng ký sự hiện diện hay không của các bit dữ liệu. Điều đó giống nhau với tất cả các phương tiện lưu trữ, cho dù đó là các ổ cứng từ tính chậm nhất hay flash NVMe siêu nhanh.

Mọi thứ bắt đầu khác nhau là ở cách thông tin ở cấp độ bit (bit-level) hình thành nên bức tranh lớn hơn và đó là nơi xuất hiện những khác biệt chính giữa Block storage, File storage và Object storage.

File và Block Storage chia sẻ với nhau rất nhiều thứ, cụ thể là trong mối quan hệ của chúng với File System. Object Storage, ở một góc độ khác, được tạo ra từ một thứ hoàn toàn khác.

Quy tắc của File System

Hầu hết những gì chúng ta biết về cách dữ liệu được lưu trữ dựa trên khái niệm File System đã có từ vài thập kỷ qua. Block và File storage được xác định bởi mối quan hệ của chúng với nó.

Block access storage – như được triển khai trong hệ thống lưu trữ SAN (Storage Area Network) – chỉ cung cấp phương tiện để xác định các khối lưu trữ từ file system, database, v.v… Khi bạn mua hệ thống lưu trữ SAN (Block Storage), bạn chỉ đơn thuần là mua một mảng lưu trữ và khả năng ấn định các volume để cung cấp chúng cho các ứng dụng thông qua một File System thường trú ở nơi khác trong lớp ứng dụng.

File access storage – thường được sử dụng thông qua thiết bị lưu trữ gắn mạng (NAS) – thì lại đối lập với cơ chế trên. Khi bạn mua một bộ NAS hoặc một cụm các node NAS mở rộng (Scale-NAS) được liên kết với nhau, chúng đi kèm với File System của riêng chúng với phần lưu trữ hiện diện với các ứng dụng và người dùng ở dạng ký tự ổ đĩa quen thuộc.

Object storage thì lại hoàn toàn khác. Nó dựa trên cấu trúc “phẳng” với quyền truy cập vào các “đối tượng” (hay Object) thông qua các mã định danh duy nhất, gần giống với cách các website được đánh địa chỉ trong hệ thống tên miền (DNS). Điều đó làm cho nó hoàn toàn khác biệt với cấu trúc File System phân cấp, theo cấu trúc cây (hierarchical).

File, Block, Object: Hiệu suất và các ứng dụng của chúng

Cho dù lưu trữ File, Block hay Object cần trải qua một chặng đường dài để xác lập mức hiệu suất và các ứng dụng phù hợp của chúng. Tuy vậy, thời gian không phải là yếu tố quyết định duy nhất. Với sự ra đời của bộ nhớ flash cực nhanh, các vết lõm về hiệu suất nhỏ trước đây có thể được san phẳng.

Tuy nhiên, nhìn chung mỗi cơ chế lưu trữ đều có những đặc điểm chính, cho dù được sử dụng tại chỗ hay trên đám mây.

File Storage, như bạn đã biết, rất tốt cho việc lưu trữ và truy cập file. Nói cách khác, sẽ rất tốt nếu bạn muốn truy cập toàn bộ file và điều đó cũng tốt cho việc lưu trữ file tổng quát hoặc cho các workload chuyên biệt hơn yêu cầu quyền truy cập file, chẳng hạn như file phim ảnh. Nó cũng là một lựa chọn tốt cho dữ liệu ở kích thước nhỏ, chẳng hạn như trường hợp dữ liệu phát sinh từ máy móc hoặc cảm biến mà bạn muốn chạy các phân tích trên đó.

Lưu trữ file dưới dạng NAS cũng rất phù hợp để làm việc với các ứng dụng cần cơ chế khóa file (file-locking) hoặc được viết dưới dạng ứng dụng tại chỗ “truyền thống”.

Với những điều kể trên, Object Storage cũng cung cấp quyền truy cập ở cấp file, nhưng không có file-locking. Nó cũng ít có khả năng được giải quyết bởi nhiều ứng dụng trừ khi các ứng dụng đó được viết từ gốc để sử dụng với Object Storage.

Truy cập Block qua SAN

Trong khi đó, Block Storage cũng có thể làm tất cả những điều này. Xét cho cùng, nó hoạt động với một File System để cung cấp cho ứng dụng quyền truy cập vào dữ liệu.

Tuy nhiên, Block Storage hữu ích nhất khi cung cấp quyền truy cập vào các khối, tạo thành một phần của các file lớn hơn. Một tình huống ứng dụng điển hình ở đây là truy cập cơ sở dữ liệu, trong đó nhiều người dùng truy cập đồng thời vào cùng một file, nhưng đến các phần khác nhau của nó, cùng với khả năng locking hoạt động ở cấp nhỏ hơn file.

Một đặc điểm chính của lưu trữ khối là hiệu suất của nó, có được từ việc tinh gọn và hiệu quả, đồng thời không phải xử lý metadata và thông tin về File System, v.v. Vì vậy, nó lý tưởng để cung cấp độ trễ thấp, hiệu suất I/O nhất quán cho các ứng dụng hướng cơ sở dữ liệu, có thể bao gồm cả mail system, cũng như các máy ảo (VM) và desktop.

Giống như lưu trữ truy cập file, lưu trữ SAN truy cập theo khối có thể sẽ quen thuộc hơn với hầu hết các ứng dụng doanh nghiệp. Nó thường tạo thành nền tảng của các hệ thống lưu trữ cao cấp nhất và do đó đắt tiền nhất trong doanh nghiệp và thường là với phương tiện flash, và hiện nay thường là phiên bản NVMe siêu nhanh của nó.

Các sản phẩm SAN thường có các yêu cầu về kỹ năng riêng, với các giao thức Fibre Channel và iSCSI là những giao thức thường được sử dụng.

Object Storage

Object Storage (Lưu trữ đối tượng) xuất hiện như một đối thủ của lưu trữ truy cập file, nhắm đến số lượng lớn dữ liệu phi cấu trúc khi các File System của các NAS mở rộng bắt đầu hoạt động kém theo số lượng tăng dần của các file được lưu trữ.

Lưu trữ truy cập file với cấu trúc file phân cấp có thể trở nên cồng kềnh khi nó phát triển, lưu trữ đối tượng mang đến một cấu trúc “phẳng” với quyền truy cập bình đẳng vào tất cả các đối tượng được lưu giữ, làm cho nó đặc biệt phù hợp với khối lượng lớn dữ liệu phi cấu trúc.

Một đặc điểm khác là các đối tượng trong bộ lưu trữ đối tượng cũng có thể được đi kèm với một bộ metadata (thông tin đặc tả) phong phú hơn so với trong File System truyền thống. Điều đó có khả năng làm cho dữ liệu trong bộ lưu trữ đối tượng cũng phù hợp với việc phân tích. Lưu trữ đối tượng cũng rất phù hợp với các hoạt động web và các ứng dụng đám mây gốc hơn là file và block.

Hạn chế so với phương pháp tiếp cận dựa trên File System bao gồm lưu trữ đối tượng không có cơ chế khóa (lock) và nhiều ứng dụng hiện hữu không thể hoạt động dễ dàng với nó so với các cơ chế truy cập truyền thống.

Ngoài ra, lưu trữ đối tượng có xu hướng hoạt động kém nhất trong tất cả các chế độ lưu trữ một phần do chi phí cho metadata nặng hơn, mặc dù điều đó đang thay đổi .

Một nhược điểm khác có thể khiến Object Storage không thể thiết lập tốt cho các hoạt động quan trọng về thời gian hơn, và chắc chắn không phải là các xử lý theo giao dịch (transactional processes), bởi vì nó có thiên hướng không nhất quán. Nhưng lưu trữ đối tượng sẽ nhất quán giữa các bản sao được nhân đôi.

Góp ý / Liên hệ tác giả