Сценарий:
база данных SQL Server 2005, обслуживающая приложение ASP.NET (на отдельных веб-серверах).
База данных: в
БД содержится около 5 ГБ «обычных» данных и около 15 ГБ «файлов» (например, 200 КБ PDF, хранящийся в виде изображения (BLOB), и тому подобное). Пользователи загружают больше файлов и быстро занимают больше дискового пространства (в ближайшие несколько месяцев объем БД может увеличиться до 50 ГБ, в основном файлов).
Проблемы:
Хранение такого количества файлов в БД уже вызывает проблемы (например: Большой общий размер базы данных затрудняет случайное резервное копирование и развертывание всей БД).
И мы обеспокоены тем, что будет больше проблем . (например: проблемы с производительностью - может быть вызвано невозможностью сохранить всю БД в ОЗУ, возможно?)
Вопрос:
Какое техническое решение вы бы предложили для этой проблемы? Хранить файлы в файловой системе? Разделить базу данных на две части и получить большую, более медленную для файлов?
Дополнительные сведения, если они необходимы:
эти файлы не являются супер-важными и не требуют очень быстрого времени доступа - пару секунд было бы неплохо, и в настоящее время возможно не более десятка операций выбора в час. Другие «нормальные» данные в БД содержат информацию, необходимую много раз в секунду.