Haveria algum problema comigo salvando o potencial em torno de 10 milhões de resultados em arquivos separados em um diretório?
Sim. Provavelmente existem mais razões, mas posso postar em cima da minha cabeça:
tune2fspossui uma opção chamada dir_indexque tende a ser ativada por padrão (no Ubuntu), que permite armazenar aproximadamente 100k arquivos em um diretório antes de ocorrer um desempenho. Isso não chega nem perto dos 10 milhões de arquivos que você está pensando.
extOs sistemas de arquivos têm um número máximo fixo de inodes. Cada arquivo e diretório usa 1 inode. Use df -ipara visualizar suas partições e inodes gratuitamente. Quando você fica sem inodes, não pode criar novos arquivos ou pastas.
comandos como rme lsao usar curingas expandem o comando e terminam com uma "lista de argumentos muito longa". Você precisará usar findpara excluir ou listar arquivos. E findtende a ser lento.
Ou é aconselhável dividi-los em pastas?
Sim. Definitivamente. Basicamente, você não pode armazenar arquivos de 10m em um diretório.
Eu usaria o banco de dados. Se você deseja armazená-lo em cache em um site, consulte " solr " ("fornecendo indexação distribuída, replicação e consulta com balanceamento de carga").