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:
tune2fs
possui uma opção chamada dir_index
que 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.
ext
Os sistemas de arquivos têm um número máximo fixo de inodes. Cada arquivo e diretório usa 1 inode. Use df -i
para visualizar suas partições e inodes gratuitamente. Quando você fica sem inodes, não pode criar novos arquivos ou pastas.
comandos como rm
e ls
ao usar curingas expandem o comando e terminam com uma "lista de argumentos muito longa". Você precisará usar find
para excluir ou listar arquivos. E find
tende 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").