если, как я понял, 5 млн связанных ресурсов планируется, то тут даже битрикс ляжет при выборке, тут скорее всего надо в сторону nosql типа elastic search копать, пол года назат ребята в минске на митапе говорили, что смогли modx к elastic-y привязать, правда про ЧПУ придется забыть. Смарти поможет в случие нагруженного шаблона (когда там много чанков в которых еще и сниппеты есть), т.к. он код шаблона напрямую в php перемалывает в обход медленного парсера modx, xpdo при такой нагрузке ляжет, впрочем как и обычные sql запросы. Да и сам представь какая будет нагрузка если ты «тяжелый» запрос с join-ами по всем 5 таблицам выполнишь? А если 30 человек примерно в одно время его выполнят? тут DDOS атака рядом не стояла, даже VDS ляжет.