Как масштабировать систему хранения документов? - PullRequest
1 голос
/ 01 февраля 2011

Я поддерживаю веб-приложение (ASP.NET/IIS7/SQL2K8/Win2K8), которому необходим доступ к документам, на самом деле к сотням тысяч документов, и их число постоянно растет.В настоящее время все они находятся на файловом ресурсе Windows 2K8 Server, доступ к которому осуществляется по пути UNC (SMB).Файлы находятся в одном плоском каталоге, и я пытаюсь спланировать, как лучше всего улучшить это решение.Я не хочу использовать атрибут файлового потока SQL, так как это потребует значительных усилий для переноса всего этого и действительно заблокирует SQL Server.Мне также нужно найти способ репликации данных для аварийного восстановления, поэтому, возможно, решение также поможет с этим.

Возможны следующие варианты:

  • Сегментировать файлы в несколько каталогов?
    • Приложение будет добавлять метаданные, для какого каталога он находится (или сегментировать другим способом)
  • Разбивать файлы на отдельные серверы?(виртуализация)
    • Резервное копирование становится более сложным.
    • Приложение добавит метаданные, для которых сервер находится на
  • NAS Storage
  • SANХранение
  • Поместите службу (WCF) перед файлами и попросите приложение поговорить со службой
    • бонус многократного использования во многих приложениях

Предполагается, что я собираюсь хранить в файловой системе, а не в базе данных (я прочитал эти статьи здесь), что будет более масштабируемым решением?

1 Ответ

1 голос
/ 01 февраля 2011

У вас есть пара проблем: - управление большим объемом (статических?) Файлов - подготовка к резервному копированию и аварийному восстановлению указанных файлов

Я выкину это там, хотя я 'Я не фанат ответа, но вы можете возиться с бесплатной SharePoint 2010 Foundation, которая включена в сервер 2k8.Если у вас возникли проблемы с поиском нужных вам документов (с помощью поиска, таксономии с помощью тегов или других метаданных), а также с истечением срока действия документа, и вы не хотите покупать полноценную систему управления документами, это может быть решением.Конечно, это создает новые проблемы ...

Если вы хотите, чтобы эти файлы были доступны для размещения в Интернете, то хранилище файлов, которое вы используете сейчас, действительно является самым простым решением.Для целей DR / избыточности я бы посмотрел на: а) запуск их на каком-нибудь рейде / SAN и б) автоматическую синхронизацию их с облаком (либо лазурным, либо амазонским).Для б) вы можете получить приложения, которые делают облако отображаемым как подключенный диск, а затем использовать программное обеспечение типа rsync, чтобы поддерживать облако в актуальном состоянии.

Если вы хотите создать что-то новое и классное, вы можете подуматьо перемещении всего файлового архива в облако и просто запишите таблицу в БД для управления именем файла, старым местоположением, новым местоположением в облаке и кодом перенаправителя, который может предоставлять токены доступа запрашивающим.

3 различныхподходит ... ваш выбор.

...