Посидев и подумав, меня осенила интересная мысль, а зачем делать манипуляции со всеми книгами в базе, чтобы потом отдать пользователю только первые 50 результатов. По умолчанию, сейчас подгрузка идет по 50 результатов. И тогда я решил, что можно ограничить все это дело только первыми 10 тыс. результатов, ведь мало пользователей будет скроллить так глубого каталог с рекомендациями (это надо совершить 200 подгрузок по 50 резульатов), ну а дальше буду решать по ходу дела если возникнут вопросы. Так и сделал, по итогу я получил скорость выполнения запроса в ~1 сек, что в ~7-10 раз быстрее чем было.
Почему MongoDB а не SQL?
Основная причина, хотел чтобы все было написано на JS, React Native + Nodex.js + MongoDB
Вау, это интересно. Не слышали про AWS/AZURE, там вроде тоже можно хостить свои проекты и не только.