Зберігання Blob Azure проти файлової служби [закрито]


130

Будь ласка, виправте мої помилки. З мого читання по цій темі, мені здається, що обидва, Azure Blob Storage and File Service пропонують можливість зберігання файлів і папок (ів) (я розумію, що краплі можуть зберігати будь-який бінарний об'єкт, але будь-який серіалізований бінарний потік - це лише файл в кінці дня) в ієрархічній структурі, що імітує файлову систему.

Тільки API для доступу до них дещо відрізняється тим, що служба файлів дозволяє запитувати джерело, використовуючи функції Win32 File I / O, як і додатки API REST.

Чому ви обираєте один над іншим, якщо хочете, щоб ваша програма зберігала деякі файли, що належать користувачам вашої програми?


6
Ви читали це повідомлення в блозі від команди зберігання Azure: blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/… ? Прокрутіть униз до розділу, де пояснюється, коли користуватися послугою.
Припинено подання

3
Так, я прочитав цю статтю перед публікацією. Я перебуваю на дуже ранніх стадіях продумання речей, і моє розуміння ще не сформоване. Я все ще розгублений. Я розумію все, що написано у всіх прочитаних статтях, але намагаюся розібратися, що найкраще використовувати, якщо я хочу зберігати користувальницькі файли для програми, яку я розробляю.
Водоохолоджувач v2

Я думаю, це зводиться до того, що ви хочете зробити з цими файлами користувачів? Чи будуть вони якимось чином передані назад (через веб-браузер тощо) або будуть оброблені далі? Якщо він колишній, то зберігання блобів має сенс. Якщо він останній, то служба файлів має сенс.
Припинено подання

1
Річ у тому, що я хочу дозволити користувачу завантажувати та завантажувати власні файли, а також ділитися деякими з них з іншими членами своєї групи контактів (вони можуть завантажувати / читати лише вони). Я можу використовувати підписи спільного доступу (SAS) для зберігання Blob, щоб зробити це, але це не подбає про мою вимогу "спільного доступу". Я схилявся до рішення, де мій додаток / послуга робила всю автентифікацію і не піддавала користувача фактичний ресурс зберігання. У цьому контексті для мене і File File, і Blob зберігають те саме. Ніхто не пропонує мені більше комфорту, ніж інший.
Водоохолоджувач v2

@ WaterCoolerv2 Чи можете ви допомогти мені вибрати між зберіганням файлів у блакитному відношенні та сховищем
крапок,

Відповіді:


110

Кілька запитань до вашого питання:

  1. Ви не можете монтувати Azure Blob Storage як нативну спільну частину на віртуальній машині.
  2. Зберігання Blob Azure не є ієрархічною поза контейнерами. Ви можете додати файли, у яких є / або \ символи, які інтерпретуються як папки багатьма програмами, які читають сховище blob.
  3. Служба файлів Azure забезпечує інтерфейс протоколу SMB для зберігання Azure Blob, який вирішує проблему з (1).

Якщо ви розробляєте нову програму, використовуйте нативний API Azure безпосередньо у Blob Storage.

Якщо ви переносите наявну програму, якій потрібно ділитися файлами, то використовуйте службу файлів Azure.

Зауважте, що є кілька функцій протоколу SMB, які Azure File Service не підтримує .


1
Дуже дякую, Саймоне. Кілька речей про вашу відповідь. Дивіться, наприкінці дня я хочу кінцевий результат. З цієї точки зору я опублікував це питання. З точки зору кінцевого результату, аргументи №1 та №3 у вашому списку не доречні. Я зовсім не сперечаюся з вами. :-) Ваша відповідь надзвичайно корисна. Я просто намагаюся розповісти тобі процес думки, який змусив мене задати це питання. І аргумент №2 - це не питання, оскільки він представляє проблему і каже, що це не проблема. Припускаючи, що я хотів зберігати файли, що належать користувачеві, я думав, чому я віддаю перевагу одному над іншим?
Водяний охолоджувач v2

Дивіться два пункти після нумерованого списку - це має бути вашим путівником.
Simon W

1
@SimonW - два пункти після вашого керівництва вказані як "спосіб зробити це". Однак вони не є абсолютними. Вони більше схожі на пропозиції в рамках цього сценарію. Бувають випадки, коли ви не хочете використовувати API Azure безпосередньо, навіть із новим додатком. Так само є випадки, коли ви можете переробити існуючі додатки для використання API Azure.
Девід Макогон

Чи є різниця в продуктивності IOPS між ними?
LaPuyaLoca

@SimonW - чи можете ви детальніше зупинитися на точці 3 вище? Це спосіб встановити Blob як спільний файл SBM або отримати доступ до нього як "диска" якимось чином?
Ніл Вайчер

38

Ще кілька речей, які слід врахувати:

  • Ціноутворення: Blob-сховище набагато дешевше, ніж зберігання файлів.
  • Переносність. Якщо в майбутньому ви вирішите перейти на платформу різниць, вам, можливо, доведеться змінити код програми, але за допомогою файлового сховища ви можете перемістити додаток на будь-яку іншу платформу, яка підтримує SMB (якщо ви використовуєте API рідної файлової системи в ваш додаток)

4
Ціна тут є величезним фактором (приблизно в 5 разів різниця в даний час), а також варто згадати - 5TB межа зберігання файлів.
TZHX

Стара публікація, але я читаю її вперше сьогодні. На стандартному ціновому рівні за замовчуванням встановлено обмеження 5TB, але це можна змінити за допомогою перемикача на ліміт 100TB. Примітка * Увімкнення великих спільних файлових файлів в обліковому записі є незворотним процесом для облікового запису сховища Azure. docs.microsoft.com/azure/storage/files/…
Ruwd

10

Служба файлів Azure орієнтована більше на внутрішню обробку файлів. Під внутрішнім я маю на увазі встановлення каталогу до VM у хмарі чи локальних мережах, щоб він міг бути завантажений у вас бек-енд (протокол на основі SMB).

Для обміну файлами з кінцевими користувачами (веб або додатки), ймовірно, має сенс використовувати сховище блоків, оскільки це спрощує завантаження через URL та безпеку завантаження через підписи спільного доступу.

У цій публікації розміщено докладніші відомості про порівняння (внизу): https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/


Привіт Клеменс Шотте, що означає зберігання блоків, що дозволяє завантажувати через URL? Ви маєте на увазі, що файли для зберігання файлів не надають URL
Heemanshu Bhalla

1
Деякі речі змінилися після цих публікацій, але служба файлів підтримує завантаження через URL та інші API REST ( docs.microsoft.com/en-us/azure/storage/common/… ). Крім того, схоже, що безпека знаходиться на рівні облікового запису сховища, тому вона має бути дуже схожою між Blobs і File Service ( docs.microsoft.com/en-us/azure/storage/common/… ).
KJ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.