Estou ciente de que existe a possibilidade de ter um único servidor de banco de dados com muitas tabelas/bancos de dados e você pode separar algumas dessas tabelas/bancos de dados em discos separados. Digamos que você tenha 5 tabelas/bancos de dados e 5 unidades. Então você anexa cada tabela/banco de dados para uma unidade diferente. Aumentando assim IO e tudo mais.
Como se chama essa técnica?
Acho que se você tentar separar os bancos de dados, basta montar uma unidade diferente em uma pasta diferente para um banco de dados diferente, mas e se você quiser separar as tabelas em unidades separadas (cada tabela em um disco diferente)
Não estou ciente de um termo específico para esta prática, mas você pode especificar dados diferentes e/ou diretórios de índice usando a sintaxe de criação de tabela .
Isso funciona apenas para tabelas MyISAM e seu sistema operacional deve suportar links simbólicos.
Na minha prática, porém, geralmente apenas segmentamos bancos de dados de conjuntos em seu próprio LV. Estes são geralmente um segmento por aplicativo funcional. Tendo um único volume lógico com todas as tabelas realmente contidas, é mais fácil controlar um espaço em disco gerenciado para cada banco de dados.
Esses LVs, porém, geralmente estão em uma configuração RAID 10 para ajudar a balancear IO.
Acho que a técnica que você está procurando é chamada de particionamento. Você pode ler mais sobre o particionamento do MySQL aqui .
Em termos de MyISAM, tenho visto que funciona para a vantagem de muitos, pois existe sintaxe para criar uma tabela MyISAM onde
.MYD
existe em um disco e o.MYI
arquivo existe em outro . Isso pode reduzir a latência do disco acessando dados e páginas de índice para qualquer tabela MyISAM. No entanto, você pode obter pelo menos 90% desse efeito apenas fazendo uso criterioso de índices de cobertura.Quando se trata de InnoDB, é uma história completamente diferente. Por quê?
A interação entre os metadados da tabela em ibdata1 e os dados InnoDB e páginas de índice é impossível de separar. Eu indiquei isso em um post anterior. Além disso, afirmei que a Percona recomendou não enviar
.ibd
arquivos para discos separados .StanleyJohns recomendou o MySQL Partitioning, que logicamente faz mais sentido para o MyISAM. atxdba menciona como suportar o uso de dados e separação de índice de MyISAM no sistema operacional. Mesmo que o InnoDB tenha capacidade para isso, não pense demais no particionamento do InnoDB. Quando se trata de realizar manutenção, é mais problema do que vale a pena.