Ища некоторые мнения по этому поводу и пытаясь начать продвигаться вперед с твердым дизайном к моему следующему проекту. Представьте себе 5 000 000 отдельных изображений с сопровождающими изображениями для предварительного просмотра; Каждый набор картинок принадлежит галерее, которая принадлежит человеку. Есть X количество людей. Так сказать, специализированная версия Flickr.
Они размещены на удаленном хосте с веб-интерфейсом для просмотра этих изображений. Существует также настольное приложение, позволяющее автоматически загружать изображения на этот удаленный хост и вводить данные галереи. Настольное приложение имеет предварительный просмотр изображений и информацию о каждой галерее и человеке. Настольное приложение, которое, так сказать, синхронизируется с Flickr.
Мне нужно определиться с двумя вещами: внутренним хранилищем для удаленного хоста и локальным хранилищем для настольного приложения. Это нацелено на среду Windows, поэтому я подумал, что SQL Server Express подойдет, но этот проект немного вырос, и это может работать только для настольных компьютеров.
Удаленный (веб) сервер может быть Windows или Linux, PHP или .Net - мне все равно, если технология подходит. Вопрос заключается в том, как лучше всего хранить все эти данные на веб-сервере, чтобы их можно было легко проиндексировать, быстро получить к ним доступ и, что самое важное, легко скопировать и восстановить в случае аварии. В настоящее время меня не беспокоит конфигурация сервера или дисковое пространство, если решение для баз данных поддерживает что-то вроде сценария облачных вычислений.
Я думаю, что бэкэнд No-SQL имеет больше смысла, храня фотографии, галереи и пользователей как «статьи», а не как «строки». No-SQL кажется более способным расти с облаком. С другой стороны, Flickr был объявлен как использующий MySQL ...
Возможно, это более экзистенциальный вопрос, чем реальный вопрос кодирования, но я не знаю ни одной лучшей группы, которую можно было бы задать!