Sobre a quantidade de dados, relaxe... Agora sobre o banco de dados, como um cara comentou abaixo, se todos os dados são bem definidos, vá para um db relacional, um mongo da vida escreve novos documentos muito rápido, mas a leitura é muito mais lenta que qualquer outro db, se for só uma tabela pode até ser que não, mas se você for fazer agregations(até mesmo uma query) com varios lookups(joins), ele se torna exponencialmente mais lento, então se for usar, faça o esquema com mais itens dentro dele mesmo que fora, para evitar esses lookups.

Essa parte do banco de dados é por experiência própria, trabalho em uma empresa que o sistema cresceu muito, aí cada agregation tem uns 10 lookups, as vezes demora mais de 3 segundos para obter uma resposta.

Ah! Outra coisa, caso tenha realmente muitos itens, coisa de milhões e uma instância extremamente fraca, o db mesmo assim vai aguentar, só que elas vão demorar um pouco mais para entregar os dados.