2015-06-03 2 views
3

Нам нужно хранить файлы ~ 50k каждый год. Каждый файл имеет размер 0,1-5 Мбайт, что соответствует диапазону 5 гб - 250 гб. Файлы: jpg, avi, pdf, docx и т. Д.Как хранить файлы в Azure

Мы использовали только файл BLOB в sql-сервере, но я думаю, что это не самая лучшая идея в этом сценарии, потому что база данных будет огромной через 2 года.

Что было бы лучшим способом сохранить эти данные?

Я вижу много разных вариантов и не могу понять, с чего начать: Azure storage, Azure SQL и т. Д. В новых версиях SQL-сервера есть несколько гибридных версий.

ответ

5

Я использую следующий подход для нескольких систем.

  • Azure Хранение файлов. Вы можете создавать несколько контейнеров и уровни доступа при хранении запатентованной информации.
  • Azure CDN для обслуживания статического контента из Azure Storage
  • Azure DB в качестве движка базы данных

В Azure БД хранить тот путь, файл, с некоторой дополнительной обработкой в ​​своих приложениях для того, как получить доступ к файл, чтобы создать окончательный URL-адрес для подачи файла. Это связано с тем, что CDN не поддерживает SSL в пользовательских доменах.

Если вам нужны примеры или дополнительная информация, просто дайте мне знать. Я сижу в аэропорту, поэтому предоставляю немного менее подробный ответ.

+0

Благодарим за быстрый ответ! В настоящее время мы используем SQL Server. Означает ли это, что нам нужно будет перейти на Azure DB, если мы захотим использовать предложенную настройку? – user194076

+0

Совсем нет. Azure DB - это просто более дешевый вариант, но вы можете хранить данные о местоположении файла в SQL Server (локальном или облачном) и использовать хранилище Azure для файла. –

+0

Хорошо.так, значит ли это, что мы получаем жесткую ссылку на файл, например: mywebsite.com/files/image.jpg? – user194076

5

Как @Martin отметил в своем ответе, Azure Storage жизнеспособна, а именно потому, что:

  • доступ не зависит от VM, служба, баз данных и т.д.
  • Хранения долговечен - тройное реплицируются в пределах области, и, возможно, гео-реплицируются
  • Отдельные капли могут быть до 200 Гбайт, с масштабированием хранения до 500TB

берег e также предоставляет файловую службу, которая по сути является частью SMB, сидящей поверх blobs.

Несмотря на то, что в Azure есть службы баз данных (служба баз данных SQL и DocumentDB), вы обнаружите, что они не оптимизированы для большого двоичного хранения данных; они более оптимизированы для метаданных. Конечно, вы можете хранить двоичные данные в каждом из них, но вам нужно беспокоиться о ограничениях хранения.

Вы также можете создать собственное решение для баз данных через виртуальные машины вместе с прикрепленными дисками (опять же, подкрепленные надежным хранилищем памяти). Виртуальные машины поддерживают до 32 1 ТБ дисков, подключенных к данной виртуальной машине, будь то обычные капли или «премиальные» SSB-брелоки (каждый премиальный диск, поддерживающий до 5000 IOPS). Какой решение для базы данных вы выбрали, полностью зависит от вас; нет «лучшего» решения.

+0

Благодарим вас за подробный ответ. :) –

+0

Нам не нужно что-то подобное сверхпрочной высокой доступности. Просто то, что будет экономически эффективным. В настоящее время мы размещаем наш сайт на Azure с кодом SQL Server Entity Framework. – user194076

+0

Я думаю, мы попробуем хранилище Azure и посмотрим, будет ли оно работать для нас. Спасибо, Дэвид! – user194076

Смежные вопросы