Lưu trữ Azure Blob so với Dịch vụ tệp [đã đóng]


130

Hãy sửa chữa những sai trái của tôi. Từ khi tôi đọc về chủ đề này, tôi nhận thấy rằng cả hai, Azure Blob Storage và File Service cung cấp khả năng lưu trữ (các) tệp và thư mục (Tôi hiểu rằng các đốm màu có thể lưu trữ bất kỳ đối tượng nhị phân nào, nhưng bất kỳ tuần tự nào luồng nhị phân chỉ là một tệp vào cuối ngày) trong cấu trúc phân cấp bắt chước một hệ thống tệp.

Chỉ API để truy cập chúng hơi khác nhau ở chỗ Dịch vụ tệp cho phép bạn truy vấn nguồn bằng các chức năng giống như tệp I / O của Win32 ngoài việc sử dụng API REST.

Tại sao bạn lại chọn cái này nếu bạn muốn ứng dụng của mình lưu trữ một số tệp thuộc sở hữu của người dùng ứng dụng của bạn?


6
Bạn đã đọc bài đăng trên blog này từ Nhóm lưu trữ Azure: blog.msdn.com/b/windowsazurest Storage / archive / 2014/05/12 / trên ? Vui lòng cuộn xuống phần giải thích khi nào nên sử dụng dịch vụ nào.
Gaurav Mantri-AIS

3
Vâng, tôi đã đọc bài viết đó trước khi đăng. Tôi đang ở giai đoạn đầu tiên để suy nghĩ mọi thứ và sự hiểu biết của tôi chưa được hình thành rõ ràng. Tôi vẫn bối rối. Tôi hiểu tất cả những gì được viết trong tất cả các bài viết tôi đã đọc nhưng tôi đang cố gắng tìm ra cách tốt nhất để sử dụng nếu tôi muốn lưu trữ các tệp thuộc sở hữu của người dùng cho một ứng dụng tôi đang thiết kế.
Máy làm mát nước v2

Tôi đoán nó nắm rõ những gì bạn muốn làm với những tập tin người dùng này? Chúng sẽ được truyền lại bằng cách nào đó (thông qua trình duyệt web, v.v.) hay chúng sẽ được xử lý thêm? Nếu nó là trước đây, thì lưu trữ blob có ý nghĩa. Nếu nó là sau, sau đó dịch vụ tập tin có ý nghĩa.
Gaurav Mantri-AIS

1
Điều đó là: Tôi muốn cho phép người dùng tải lên và tải xuống các tệp của riêng mình và cũng chia sẻ một số tệp đó với những người khác trong nhóm liên hệ của mình (để họ chỉ tải xuống / đọc). Tôi có thể sử dụng Chữ ký truy cập được chia sẻ (SAS) với bộ lưu trữ Blob để làm điều đó, nhưng điều đó sẽ không quan tâm đến yêu cầu "chia sẻ" của tôi. Tôi đã nghiêng về một giải pháp trong đó ứng dụng / dịch vụ của tôi đã thực hiện tất cả xác thực và không tiết lộ tài nguyên lưu trữ thực tế cho người dùng. Trong bối cảnh đó, đối với tôi, cả Dịch vụ tệp và lưu trữ Blob đều làm điều tương tự. Không ai cung cấp cho tôi bất kỳ thoải mái hơn so với người khác.
Máy làm mát nước v2

@ WaterCoolerv2 Bạn có thể giúp tôi chọn giữa lưu trữ tệp azure và lưu trữ blob bạn đã kết luận gì không
Heemanshu Bhalla

Câu trả lời:


110

Một vài mục cho câu hỏi của bạn:

  1. Bạn không thể gắn Azure Blob Storage dưới dạng chia sẻ gốc trên máy ảo.
  2. Azure Blob Storage không phân cấp ngoài container. Bạn có thể thêm các tệp có / hoặc \ ký tự trong đó được hiểu là thư mục bởi nhiều ứng dụng đọc lưu trữ blob.
  3. Azure File Service cung cấp giao diện giao thức SMB cho Azure Blob Storage để giải quyết vấn đề với (1).

Nếu bạn đang phát triển một ứng dụng mới thì hãy tận dụng API Azure gốc trực tiếp vào Blob Storage.

Nếu bạn đang chuyển một ứng dụng hiện có cần chia sẻ tệp thì hãy sử dụng Dịch vụ tệp Azure.

Lưu ý rằng có một số tính năng giao thức SMB mà Azure File Service không hỗ trợ .


1
Cảm ơn rất nhiều, Simon. Một vài điều về trả lời của bạn. Xem, vào cuối ngày, tôi muốn một kết quả cuối cùng. Từ quan điểm đó, tôi đã đăng câu hỏi này. Từ quan điểm kết quả cuối cùng, các đối số # 1 và # 3 trong danh sách của bạn không phù hợp. Tôi không tranh luận với bạn cả. :-) Câu trả lời của bạn rất hữu ích. Tôi chỉ cố gắng nói cho bạn biết quá trình suy nghĩ đã khiến tôi đặt câu hỏi này. Và đối số # 2 không phải là vấn đề vì nó đưa ra một vấn đề và nói rằng đó không phải là vấn đề. Giả sử tôi muốn lưu trữ các tệp thuộc sở hữu của người dùng, tôi đã suy nghĩ, tại sao tôi lại thích cái này hơn cái kia?
Máy làm mát nước v2

Xem hai điểm sau danh sách được đánh số - đó phải là hướng dẫn của bạn.
Simon W

1
@SimonW - hai điểm sau hướng dẫn của bạn được nêu là "cách thực hiện". Tuy nhiên, họ không tuyệt đối. Chúng giống như đề xuất hơn, trong kịch bản đó. Có những trường hợp bạn không muốn sử dụng API Azure trực tiếp, ngay cả với một ứng dụng mới. Tương tự, có những trường hợp bạn có thể muốn làm lại các ứng dụng hiện có để sử dụng API Azure.
David Makogon

Có sự khác biệt hiệu suất IOPS giữa chúng không?
LaPuyaLoca

@SimonW - bạn có thể nói rõ hơn về điểm 3 ở trên không? Đây có phải là cách để gắn kết Blob dưới dạng chia sẻ tệp SBM hoặc truy cập dưới dạng "đĩa" theo cách nào đó không?
Neil We Rich

38

Một vài điều khác cần xem xét:

  • Giá cả: lưu trữ Blob rẻ hơn nhiều so với lưu trữ tập tin.
  • Tính di động: Với lưu trữ blob nếu bạn quyết định chuyển sang nền tảng khác trong tương lai, bạn có thể phải thay đổi mã ứng dụng nhưng với Lưu trữ tệp, bạn có thể di chuyển ứng dụng của mình sang bất kỳ nền tảng nào khác hỗ trợ SMB (giả sử bạn đang sử dụng API hệ thống tệp gốc trong ứng dụng của bạn)

4
Giá ở đây là một yếu tố lớn (khoảng chênh lệch 5x hiện tại) và cũng đáng nói đến là giới hạn lưu trữ tệp 5TB.
TZHX

Bài cũ, nhưng tôi đang đọc nó lần đầu tiên ngày hôm nay. Có giới hạn 5TB theo mặc định trên bậc giá tiêu chuẩn, nhưng có thể thay đổi thông qua chuyển đổi sang giới hạn 100TB. Lưu ý * Kích hoạt chia sẻ tệp lớn trên tài khoản là một quá trình không thể đảo ngược trên tài khoản Azure Storage. docs.microsoft.com/azure/st Storage / files / Google
Ruwd

10

Dịch vụ tệp Azure được nhắm mục tiêu nhiều hơn để xử lý tệp nội bộ. Với nội bộ, tôi có nghĩa là gắn một thư mục vào máy ảo trong đám mây hoặc tại chỗ để nó có thể được tải trong back-end của bạn (giao thức dựa trên SMB).

Để chia sẻ tệp với người dùng cuối (web hoặc ứng dụng), có thể có ý nghĩa hơn khi sử dụng bộ lưu trữ blob vì điều này đơn giản hóa việc tải xuống thông qua URL và đảm bảo tải xuống thông qua Chữ ký truy cập được chia sẻ.

Bài đăng này chia sẻ chi tiết hơn về so sánh (ở phía dưới): https://bloss.msdn.microsoft.com/windowsazurest Storage 2014/05/12 / int sinh-microsoft-azure-file-service /


Xin chào Clemens Schotte, ý nghĩa của việc lưu trữ blob cho phép tải xuống thông qua một url Bạn có nghĩa là lưu trữ tệp không cung cấp url
Heemanshu Bhalla

1
Một số thứ đã thay đổi kể từ những bài đăng này, nhưng Dịch vụ tệp không hỗ trợ tải xuống thông qua URL và các API REST khác ( docs.microsoft.com/en-us/azure/st Storage / common / sắt ). Ngoài ra, bảo mật dường như ở cấp Tài khoản lưu trữ, do đó, nó phải rất giống với dịch vụ tệp và Blobs ( docs.microsoft.com/en-us/azure/st Storage / common / canh ).
KJ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.