Мне дали проект, который включает в себя создание библиотеки фотографий для внутренней сети нашей компании, и я не уверен, как лучше всего подойти к этому.Я бы очень хотел услышать ваше мнение о том, как я должен решить это.Я также заранее прошу прощения, если мой вопрос не подходит для этих досок, поскольку я понимаю, что он может быть субъективным, но я не знаю, где еще его поставить?
ПРОБЛЕМА:
Для начала, мы будем искать в регионе несколько сотен тысяч изображений различных размеров, и это должно быть сетевое решение.Я также буду разрабатывать в .Net / MS Sql Server. В идеале Я бы хотел включить это в Umbraco CMS, так как большинство наших администраторов знакомы с этим интерфейсом.Данные не обязательно должны храниться в CMS - они просто должны быть доступны для редактирования и позволять пользователям добавлять / удалять элементы внутри них.
Моя самая большая проблема здесь - это производительность.Мы не хотим, чтобы пользователи ждали минут результатов.В идеале мы хотим, чтобы они вернулись в считанные секунды.
В основном я хочу подражать чему-то вроде alamy / istockphoto.Я хочу, чтобы с каждым изображением были связаны название, номер задания, название проекта, категория, теги и т. Д. С миниатюрой, а затем, конечно, ссылка на необработанное, полное изображение.
Просто для пояснения некоторых из этих изображенийочень большие (1 ГБ + TIFF).У нас также уже есть все файлы на отдельном файловом сервере.Роль этой библиотеки фотографий должна заключаться в том, чтобы просто сопоставлять записи в базе данных с физическими файлами, а не изменять структуру существующей файловой системы или что-либо подобное.
МОЕ ПРЕДЛАГАЕМОЕ РЕШЕНИЕ:
Я думаю, что первой задачей должно быть создание базы данных, в которой будут храниться все свойства по умолчанию, такие как идентификатор, номер задания, псевдоним, путь к файлу изображения и т. Д. Затем я создам отдельные теги /таблицы категорий с отношением «многие ко многим».
После создания таблиц я напишу несколько пользовательских элементов управления для CMS, которые позволяют администратору входить в систему и добавлять / редактировать / удалять записи избазы данных.
Затем я думаю о реализации Lucene.net для поиска по моим записям.Судя по тому, что я могу извлечь, это хороший API для получения быстрых результатов.
Это достойное решение?Я никогда не имел дело со многими проектами такого масштаба, поэтому я немного запутался в своих возможностях.Если бы кто-то мог просто направить меня в правильном направлении, я был бы очень благодарен.Я также хотел бы сохранить решение как можно более простым.
Большое спасибо!