O tamanho máximo do arquivo individual no ext3 é imposto em tabelas mysql?

4

Estou lendo sobre os sistemas de arquivos no Linux em aqui . Essa frase em particular me confunde.

For ext3,

  • Maximum individual file size can be from 16 GB to 2 TB.
  • Overall ext3 file system size can be from 2 TB to 32 TB.

Então, a sentença acima significa que não posso ter um único arquivo com tamanho superior a 2 TB?

Se for esse o caso, não posso ter uma única tabela mysql com capacidade maior que 2 TB ? As tabelas são armazenadas de acordo com o parâmetro datadir mencionado em /etc/my.cnf . Portanto, supondo que eu tenha um HDD de 4 TB de capacidade e uma mysql de tamanho 2,5 TB , a tabela pode caber no HDD ou não?

EDITAR

Não estou preocupado com o tamanho máximo do arquivo, como a resposta do Barmar especifica.

Estou mais preocupado em descobrir se haverá algum erro se eu tiver uma única tabela mysql que seja maior que o tamanho máximo permitido para o tamanho do arquivo do sistema de arquivos ext3.

    
por Ramesh 06.06.2014 / 21:45

3 respostas

4

De acordo com Limites no tamanho da tabela , o tamanho máximo de um tabela no Linux 2.4 + usando ext3 é 4TB.

Como o MyISAM armazena os dados da linha em um arquivo e o índice em outro arquivo, acho que esse é o tamanho máximo teórico do dado + índice. Como o ext3 limita os arquivos a 2TB, não parece possível que os dados da linha possam exceder isso.

    
por 06.06.2014 / 22:16
1

Geralmente, você deve seguir as diretrizes aqui mencionadas por @ Barmar. Isso lista os limites impostos por vários sistemas operacionais, mas não necessariamente para os sistemas de arquivos. E ainda tem uma lista um pouco enganadora de "Linux 2.4+ (usando o sistema de arquivos ext3) 4TB".

Existe algo mais que é muito importante a considerar em um sistema de arquivos ext3 ao determinar o tamanho máximo do arquivo. Verifique seu tamanho de bloco antes de criar tabelas de banco de dados massivas. Uma partição ext3 com um tamanho de bloco de 1k tem um tamanho máximo de arquivo de aproximadamente 16,5 GB. O mesmo disco exato com um tamanho de bloco de 4k tem um tamanho de arquivo máximo de 4 TB. Uma explicação detalhada do porquê pode ser encontrada aqui . Se você tem um tamanho de bloco de 4k, então a documentação no site mysql é totalmente precisa. A maioria das instalações hoje em dia tem 4k como padrão, e eu acredito que o sistema de arquivos de 4TB é muito grande para blocos de 1k, mas certamente não faz mal checar

    
por 07.06.2014 / 01:02
1

Sim, se o seu sistema de arquivos subjacente tiver um limite de tamanho de arquivo, você obterá erros no MySQL se tentar adicionar dados ao ponto de o arquivo estar cheio.

No entanto, os limites de tamanho de arquivo do sistema de arquivos são facilmente contornados simplesmente tornando sua tabela do MySQL PARTITIONed, para que uma única tabela distribua os dados por múltiplos arquivos MYD e MYI. link

Você deve usar o ext4 atualmente em vez de ext3. O ext4 tem um limite de tamanho de arquivo de 16 TB (com tamanho de bloco padrão de 4k). link

    
por 07.06.2014 / 02:20