Проектирования СУБД для хранения больших объемов?
Говорят, именно в таких случаях  реляционные БД показывают своё преимущество.
За MongoDB не скажу. Но общее направление очевидно:
- планы запросов (используются ли индексы? или перебирается вся таблица?)
- дисковые операции (возможно, имеет смысл купить SSD с лучшим показателем IOPS).
- масштабирование (организовать несколько slave-реплик и распределять "поисковую" нагрузку между ними)
- денормализация (создать поля и таблицы со "вторичными" данными; например, с количеством товаров; тогда, возможно, удастся обойтись без операций count или сократить кол-во этих операций)
- логика приложения (возможно, без каких-то операций можно обойтись)