Как обеспечить быструю работу сайта с большой базой данных?
Думаю, в данном случае важно выбрать грамотного подрядчика. Я много сайтов повидал на своём веку, но в 95% они были написаны криво, толковых разработчиков по пальцам сосчитать можно, и они как правило стоят дороже "$100 за сайт" (излюбленная фраза заказчиков на фрилансе:)
Буквально вчера оптимизировал крупный американский сервис. Задача - страница открывается более 15 секунд. Простой анализ слоулогов и банально правильная индексация позволили уменьшить время загрузки до 0,6 секунд, а это элементарные вещи, который обязан знать любой разработчик.
Просто, когда будешь искать заказчика, требуй его портфолио с высоконагруженными проектами. Можешь поинтересоваться, например: "хм, я вижу у вас на сайте много товаров с большим количеством параметров у каждого. Расскажите, как вы строили sql-запрос и какое примерно время запроса в базу получилось при этом. Как вы добились такого хорошего времени?". По его ответу, даже если сам не понимаешь половину слов, будет видно, в теме он, или не очень.
Оставьте выбор технологий на подрядчика ибо у вас знаний примерно на уровне плинтуса по данному вопросу. Пропишите Quality Attributes для приемки. Если все нужные нагрузочные тестирования будут выполнены то пусть хоть на файлах работает) 

PS про файлы, конечно, перебор, но кто мешает в требования в ТЗ написать ограничения на те же технологии. Как пример, реляционная бесплатная база данных с LTS не менее до 2040 года. А какая будет - после этого уже не так важно. С языком программирования та же история