Armazenando e acessando até 10 milhões de arquivos no Linux

Estou escrevendo um aplicativo que precisa armazenar muitos arquivos até aproximadamente 10 milhões.

Atualmente, eles são nomeados com um UUID e terão cerca de 4 MB cada, mas sempre do mesmo tamanho. A leitura e gravação de / para esses arquivos sempre serão seqüenciais.

2 perguntas principais para as quais estou procurando respostas:

1) Qual sistema de arquivos seria melhor para isso. XFS ou ext4? 2) Seria necessário armazenar os arquivos abaixo dos subdiretórios para reduzir o número de arquivos em um único diretório?

Na pergunta 2, observo que as pessoas tentaram descobrir o limite XFS para o número de arquivos que você pode armazenar em um único diretório e não encontraram o limite que excede milhões. Eles não observaram problemas de desempenho. E sobre o ext4?

Pesquisando com pessoas fazendo coisas semelhantes, algumas pessoas sugeriram armazenar o número do inode como um link para o arquivo em vez do nome do arquivo para desempenho (este é um índice de banco de dados. O qual eu também estou usando). No entanto, não vejo uma API utilizável para abrir o arquivo pelo número do inode. Isso parecia ser mais uma sugestão para melhorar o desempenho no ext3, que não pretendo usar a propósito.

Quais são os limites ext4 e XFS? Quais são os benefícios de desempenho de um sobre o outro e você pode ver um motivo para usar o ext4 sobre o XFS no meu caso?

questionAnswers(2)

yourAnswerToTheQuestion