Вопрос:
Должен ли я написать свое приложение для прямого доступа к хранилищу изображений базы данных или написать часть промежуточного программного обеспечения для обработки запросов документов.
Справочная информация:
У меня есть специальное приложение для работы с изображениями и документооборотом, которое в настоящее время хранит около 15 миллионов документов / изображений документов (90% + одна страница, tiff группы 4, остальные документы PDF, Word и Excel). Репозиторий изображений - это коммерческое стороннее приложение, которое очень дорого и, честно говоря, требует слишком много накладных расходов. Мне просто нужна система для хранения и получения изображений документов.
Я подумываю переместить изображения непосредственно в базу данных SQL Server 2005. Информация по индексированию очень ограничена - в основном это 2 поля индекса. Это система администрирования полисов страхования жизни, поэтому я индексирую изображения с помощью номера полиса и уникального общесистемного идентификатора. Существуют и другие значения индекса, но они хранятся и хранятся отдельно от данных изображения. Эти значения индекса дают мне возможность искать уникальное значение идентификатора для поиска отдельных изображений.
Сервер баз данных представляет собой двухъядерный процессор Windows 2003 с накопителями SAN, на которых размещаются файлы БД. Текущий размер репозитория изображений составляет около 650 ГБ. Я не проводил никаких тестов, чтобы увидеть, насколько большой будет конвертированная база данных. Я на самом деле не спрашиваю о дизайне базы данных - я работаю с нашими администраторами баз данных над этим аспектом. Если это изменится, я вернусь: -)
Текущая система, которая должна быть заменена, очевидно, является приложением промежуточного программного обеспечения, но это очень тяжелая система, распределенная на 3 сервера Windows. Если я пойду по этому пути, это будет система с одним сервером.
Мои главные проблемы - это масштабируемость и производительность - в значительной степени ориентированные на производительность. У меня около 100 пользователей, и рост использования будет, вероятно, медленным в течение следующих нескольких лет.
Большинство пользователей в основном читают пользователей - они не очень часто добавляют изображения в систему. У нас есть отдел, который занимается сканированием и добавлением изображений в хранилище. У нас также есть несколько других приложений, которые получают документы (через ftp), и они автоматически вставляют их в хранилище по мере их поступления, либо будут заполнять полную информацию индекса, либо «пакетами», которые пользователь просматривает и индексирует.
Большинство (90% +) документов / изображений очень маленькие, <100 КБ, возможно, <50 КБ, поэтому я считаю, что хранение изображений в файле базы данных будет наиболее эффективным, чем получение SQL 2008 и использование FileStream. </p>