Кто может подсказать по теоретическим вопросам по архитектуре таких сайтов, как соц.сети, сайты знакомств (интересует back-end: БД, картинкохранение)?
Вы написали огромную стену текста, но даже не попытались почитать как сделано у тех самых гигантов, которые вы перечисляете? Это ведь не секретные техники, почти у всех есть дев-блоги, многие на конференциях доклады дают, куча лекций по хайлоаду.
А вот и "глубокий" ответ: если вы думаете, что существует волшебный универсальный рецепт типа "все чаты храним в %databasename%", и "все фотки храним в %storagename%", то вы ошибаетесь. Придется учитывать специфику проекта, проводить сравнение разных подходов на реальных данных, и так далее.
На половину оптимизационных вопросов гуглите YAGNI.
По бд возьмите PostgreSQL или Oracle. В обоих есть инструменты для решения всех ваших вопросов. Естественно оракловая база стоит немалых денег.
На NoSQL вообще не смотрите. Единственный сценарий использования NoSQL это таблицы фактов (как например лента пользователя) когда сами данные важнее связей между различными сущностями.