o efeito do grande número de arquivos no espaço em disco em sistemas de arquivos unix

0

Se eu tiver um arquivo de texto no Unix que contenha N várias entradas independentes (por exemplo, registros sobre funcionários, onde cada funcionário tenha um registro separado), é esperado que esse arquivo ocupe menos espaço do que se eu dividir o arquivo em N arquivos, cada um contendo a entrada para um funcionário? em outras palavras, pode-se economizar espaço significativo em sistemas de arquivos unix ao concatenar muitos arquivos juntos, ou a diferença é insignificante? obrigado.

    
por user46976 15.12.2012 / 06:12

1 resposta

3

Depende da relação entre os comprimentos de registro e o tamanho do bloco do sistema de arquivos.

Por exemplo, se os comprimentos de registro (módulo do tamanho do bloco) forem distribuídos aleatoriamente, concatenar os dados em menos arquivos reduzirá o desperdício de espaço. O último bloco em cada arquivo será 1/2 completo em média. Isso é o que é chamado de fragmentação interna . Se você cortar o número de arquivos ao meio combinando arquivos, você reduziria o número de 1/2 blocos inteiros pela metade.

Otoh, se cada registro é sempre um múltiplo do tamanho do bloco, cada arquivo sempre preencherá completamente todos os blocos alocados a ele (zero fragmentação interna), não importando quantos registros ele contenha. Nesse caso, a única economia da concatenação de arquivos seria o resultado de ter menos entradas de diretório.

    
por 15.12.2012 / 07:12